Jpg#s werden im Loader nicht immer scaliert!

Also die Mc's liegen alle schon vor, die hab ich alle erstellt und dahin gerückt wo sie sein sollen!

Code:
picture1.loadMovie("Bilder/mad/pic1.jpg");
picture2.loadMovie("Bilder/mad/pic2.jpg");
picture3.loadMovie("Bilder/mad/pic3.jpg");
picture4.loadMovie("Bilder/mad/pic4.jpg");
picture5.loadMovie("Bilder/mad/pic5.jpg");
picture6.loadMovie("Bilder/mad/pic6.jpg");
picture7.loadMovie("Bilder/mad/pic7.jpg");
picture8.loadMovie("Bilder/mad/pic8.jpg");
picture9.loadMovie("Bilder/mad/pic9.jpg");
picture1._width = 32;
picture1._height = 22;
ladestatus("picture1");

Ich wil mir einfach das, also die vielen Wiederholungen sparen! Das wollt ich mit einem Array (oder anders, weiß aber nicht wie) machen!
Und in jedem Durchgang wollt ich der Funktion Ladestatus dann einfach den Mc mit geben!
Ich hoffe Du verstehst mich ein wenig?
Schau mir trotzdem jetzt auch mal dein Vorschlag an!
 
Das Problem mit dieser Funktion "ladestatus" ist, dass damit nur ein Bild zur Zeit vorgeladen werden kann - auf meine Weise läufts nebeneinander. ;)

Zu Deinem Code: Auch wenn "picture5" ein MC ist, ist "picture[5]" noch lange keiner, wenn das Array frisch initialisiert wurde. Was Du willst, würde so notiert werden:
Code:
for (var i=1; i<=8; i++) {
	var ct = this["picture" + i];
	ct.loadMovie("Bilder/mad/pic"+[i]+".jpg");
}
Du kannst aber nicht direkt nach der loadMovie-Aktion die Breite und Höhe festlegen, sondern musst - wie gesagt - warten, bis das Bild komplett geladen ist. Auch der Aufruf von "ladestatus" bringt so nichts, da Du ja mehrere Bilder zeitgleich laden willst.

Mein Beispiel behebt alle diese Probleme.

Gruß
.
 
Also das Dein Preloader geht habe ich gesehen, nur würde ich ihn ja echt gerne nehmen, nur weiß ich nicht wo ich die Position der Thumps ändern kann! Würde die nämlich schon gern in meinem Raster haben! Und ich würde auch gern drauf klicken können, um so ein größeres Bild zu öffnen?
 
Worin besteht das Problem mit der Positionierung? Auf der Hauptzeitleiste siehst Du ja, wie die Thumbnails angeordnet werden und kannst es ggf. ändern. Wenn Du lieber eine feste Anzahl Bilder selbst auf die Bühne ziehen willst, kannst Du das mit dem thumbnail-MC auch machen, und eben nicht dynamisch instanzieren.

Ebenso sollte es kein Problem sein, auf die Thumbnails ein Mausereignis (onRelease) zu setzen. Wenn Du nicht weißt wie das geht (mein Tipp: lerns, s'sind Grundlagen ;)), schau Dir die Slideshows an, die es zum Download auf meiner Seite gibt: Die arbeiten ähnlich und Du kannst Dir die fertigen Objekte herauskopieren.

Gruß
.
 
Bin jetzt schon ein Stück weiter und Deinem Rat gefolgt!
http://www.thatsmyown.de.ms
Die Bilder laden jetzt alle mit Preloader! Die größe der Bilder haut aber nur bei den horizontalen Bilder hin, die anderen stellt er zu groß dar!
Problem jetzt ist nur noch das vergrößern und das entlader der Mc's, so das ich bei zurück gehen keine Bilder mehr sehe!

Ich wollt auch mit dem Code:

Code:
// auf dem Vor-Button:
on(release) {
    if (_root._currentframe < _root._totalframes) _root.nextFrame();
}
von Bild zu Bild springen, nur funktioniert das nur in Flash selber, online geht es nicht?
 

Anhänge

  • 24758attachment.zip
    27,7 KB · Aufrufe: 16
Zuletzt bearbeitet:
Hi,

mische nicht dymamische Instanzierungen mit einer Hauptzeitleiste, sondern verwende nur einen Frame auf _root. Wenn Du andere Bilder anzeigen willst, lösche doch einfach die aktuellen und lade den nächsten Satz neu. Du könntest z.B. alle Pfade hintereinander in ein Array setzen und Dir einen "Offset" merken, ab dem 10 Bilder angezeigt werden. Beim Klick auf einen der Pfeilbuttons zählst Du dann den Offset um 10 hoch bzw. runter und führst den Code zum Anzeigen der Thumbnails neu aus. Dazu packst Du diesen Block:
Code:
for (var i=0; i<bilder.length; i++) { // Thumbnails anlegen:
	thumbs[i] = this.attachMovie("thumbnail", "thumb" + i, i);
	thumbs[i]._x = x * (thumbs[i]._width + 17); // positionieren
	thumbs[i]._y = y * (thumbs[i]._height + 23);
	thumbs[i]._path = bilder[i]; // Pfad zuweisen, damit das Laden beginnen kann
	x ++; // nächste Spalte
	if (x >= spalten) { // wenn größer als Spaltenzahl ...
		x = 0; // ... nächste Zeile!
		y ++;
	}
}
in eine Funktion und setzt an den Anfang eine Schleife zum Löschen der aktuell sichtbaren Thumbnails:
Code:
for (var i in thumbs) {
    thumbs[i].removeMovieClip();
}

Gruß
.
 

Neue Beiträge

Zurück