Frage

Ich lade eine Grafik über die Loader-Klasse. Jetzt muss ich es sowohl wie das Originalbild und ein Miniaturbild des Bildes verwenden. Ach, es gibt keine „duplicateMovieClip“ oder so etwas in AS3

Wenn ich es in der Normalansicht AddChild und dann zur Thumbnail nur das Miniaturbild angezeigt wird und umgekehrt.

ich für diesen Google und fand mehrere Lösungen online, aber sie scheinen alle nur an der Arbeit mit Bildern aus der Bibliothek und nicht von einem Server geladen werden.

Also, wie kann ich dies tun, ohne das Bild zweimal zu laden?

War es hilfreich?

Lösung

Wenn wurden redet nur über ein Bitmap-Bild, ist die einfachste Sache, nur die BitmapData- mit einer anderen Bitmap-Instanz zu teilen. Siehe unten:

var existingBitmap:Bitmap; //which you have from the loader
var thumbNail:Bitmap = new Bitmpap(existingBitmap.bitmapData);

thumbNail.witdth = 64;
thumbNail.height = 64;

addChild(thumbNail);

Da Sie einen Loader verwenden, können Sie das Bitmap-Bild gelangen Sie von außen durch die content Eigenschaft geladen.

var existingBitmap:Bitmap = myLoader.content;

Andere Tipps

Je nachdem, was müssen Sie damit zu tun haben Sie drei Möglichkeiten.

  1. Sie laden wieder. Bei weitem die einfachste, geht es trotzdem zwischengespeichert werden, so dass Sie nicht brauchen den Server zweimal getroffen.
  2. Verwenden Sie BitmapData.draw (). Erstellen Sie eine BitmapData- und ziehen Sie Ihre Loader es auch ziemlich einfach, aber man kann jede Animation nicht tun, ohne neu zu zeichnen.
  3. Sie laden und die Klasse der Grafik zanken aus (nur auf .swf der gilt) und verwenden, die auf instantiate Kopien. Schauen Sie sich auf getDefinitionByName . Dies ist ein wenig kompliziert, da man auf Gedeih und Verderb der Sandbox ist, aber es ist auch die richtige Art und Weise, es zu tun.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top