Brauche Hilfe bei Gallerie

zirag

Erfahrenes Mitglied
Hi Leute,

ich bin langsam am verzweifeln, sitz nun schon ein paar Stunden hier am Werk.

Ich habe 2 Probleme.

1. Ich bekomme es nicht hin, den MC "loader" während des Ladens anzuzeigen und den "loader.balken" nach Prozent zu skalieren

2. Ich bekomme ich es nicht hin, die Bilder von den Thumbnails in den MC "out" zu skalieren

hier mal meine FLA+Anhänge:
http://home.arcor.de/zirag/newGallery.zip
(ist leider zu groß als Anhang)

Ich hoffe mir kann jemand helfen
Muss dazu sagen, ich arbeite das erste Mal mit BitmapData


Danke im Vorraus

mfg ZiRaG


PS:

vielleicht habe ich ja auch schon den Ansatz falsch gewählt und jemand hat nen besseren Vorschlag für mich

Was ich auf jeden Fall möchte ist, dass der komplette AS Code in Frame1 der HZ ist
 
Hi,

zu 1: Ich sehe in Deinem Code überhaupt keinen Versuch, den Ladebalken zu instanzieren und zu beeinflussen. Was hast Du probiert?

zu 2: Das BitmapData-Objekt kann nicht über die Eigenschaften _width und _height skaliert werden. Vielmehr solltest Du ein Matrix-Objekt verwenden (schau Dir hier die Methode Matrix.scale an), welches Du der BitmapData.draw-Methode übergibst.

Ausserdem: Um die Matrix korrekt zu skalieren, brauchst Du zum einen die Originalgröße des Bildes. Speichere diese hierzu als Member in den einzelnen Thumbs, oder erstelle in den Thumbnails einen weiteren Container, der das Bild aufnimmt. Zudem darfst Du nicht die Größe des MC "out" als Vergleichsgröße verwenden, da sich diese bei der Anzeige eines Bildes ändern kann. Wandele lieber den Hintergrund dieses Clips in einen MC um, gib ihm einen Instanznamen (z.B. "out_bgnd") und verwende dessen Maße als Vergleichsgröße zur Skalierung.

Gruß
.
 
Hallo Tobias,

zu 1. ich habe versucht, den MC loader im "listener.onLoadProgress" zu attachen, ich habe versucht, den loader in der For-Schleife zu attachen, ich habe in der For-Schleife in den Thumbnail MCs noch einen MC erstellt und versucht den loader da rein zu attachen, aber das klappte alles nicht, und ich kann ja auch nicht alle meine Versuche hochladen ;)

zu 2. das mit dem Matrix hatte ich auch schon gelesen, und auch versucht, aber das versteh ich noch nicht so ganz, da ich mit der BitmapData Klasse noch nie gearbeitet habe,


ich saß gestern bis spät Nachts und kam und kam nicht weiter, vielleicht kannst du mir ja ein bisschen genauer weiter helfen.


Bei dem ganzen hin und her probieren ist der Code natürlich etwas Wirr Warr geworden, so dass ich irgendwann so ne Art Blackout hatte.


Danke schonmal für deine Hilfe ;)

mfg
 
Hi,

zu 1: Wie wärs so?
Code:
var preloader = this.attachMovie("loadermc", "preloader", 5000);

preloader.balken._xscale = 0;

listener.onLoadProgress = function(mc:MovieClip, geladeneBytes:Number, totalBytes:Number) {
	var perc = geladeneBytes * 100 / totalBytes;
	preloader.balken._xscale = perc;
}

Nachteil: bei onLoadProgress bekommst Du immer nur den Status für den jeweiligen MC. Um den Gesamtstatus für alle Bilder zu überwachen, musst Du Dir eine Methode schreiben, die die Größe aller Bilder ermittelt und diese in Relation zu den geladenen Bytes alles Bilder setzt. Wenn Du im Forum nach "multiloader" suchst, findest Du einige Ansätze von mir dazu.

Wegen dieser Problematik (es steht ja auch nicht fest, ob alle Bilder zum selben Zeitpunkt geladen werden) verwende ich bei Galerien meistens für jedes Vorschaubild einen eigenen Preloader.

Zu 2: Ich kann Dir vielleicht morgen ein Beispiel fertig machen, kann Dir aber nicht versprechen, wann ich dazu komme (ich bin im Moment ziemlich ausgelastet). Lies Dir in der Zwischenzeit die Referenz zur BitmapData- und zur Matrix-Klasse durch: Im Prinzip steht alles recht verständlich in der Doku. ;)

Gruß
.
 
Zu 1.) Das hatte ich ja schon so ähnlich probiert und es will einfach nicht :(

Ich glaube ich fange nochmal ganz von vorne an. Aber das Beispiel zur Matrix könntest du trotzdem noch machen, wenn du Zeit und Lust hast ;)



mfg
 
Zurück