Bildcontainer duplizieren

mardazad

Erfahrenes Mitglied
Hallo allerseits,
ich habe folgendes Problem: ich lade externe Bilder wie in unten stehendem Code in einen Container, was auch wunderbar klappt. Nur möchte ich jetzt den mc "img_ct" samt der darin liegenden Clips und geladenen Bilder duplizieren, so dass der mc "masked_ct" entsteht...

Habe jetzt ewig mit duplicateMovieClip rumgespielt, aber irgendwie fehlt mir die göttliche Eingabe;)

PHP:
function otherPics(){

	for (var i=1; i < obj_xml.length; i++){
	
	var clip = this.img_ct.attachMovie("clip", "clip" + i, i);
		
		clip.holder = clip.createEmptyMovieClip("holder", 1);
                clip.holder.loadMovie(obj_xml[i].attributes.bild);
			
	}		
	
	duplicateMovieClip( this.img_ct, "maqsked_ct", 100);
		
}

Kann mir da mal bitte jemand helfen?

Vielen Dank schonmal
 
Hi,

duplicateMovieClip kopiert keine zur Laufzeit erstellten Objekte in den Quellclips.

Wenn es Dir nur um die optische Repräsentation geht, könntest Du den Clip per BitmapData.draw() kopieren und per attachBitmap in einen neuen Container einfügen ...

... ansonsten musst Du alle Inhalte "per Hand" auch in Deinem Duplikat anlegen.

Gruß
.
 
Hi,
mal wieder vielen Dank;)

Wenn ich ehrlich sein soll dann hab ich die Flashhilfe zum Thema BitmapData.draw() nicht gerafft. Also wie und wann ich das dann wo einsetze (und was ich da eigentlich mache). Habs eigentlich so verstanden, dass man von einem MC mit (Vektor-?)Daten sone Art Snapshot macht und den dann attached?

Ich hab auch grundsätzlich nix dagegen, das von Hand zu machen. Nur ist mein Problem, dass wenn ich
PHP:
clip.holder.loadMovie(obj_xml[i].attributes.bild); 
clip_maskiert.holder.loadMovie(obj_xml[i].attributes.bild);

einsetze, das betreffende Bild 2x geladen wird und sich somit die Ladezeit verdoppelt. Hatte ursprünglich sowas überlegt, dass man das Bitmapbild in die Bibliothek (oder den Cache) lädt und dann bei Bedarf attached. Denn es geht wirklich nur darum, die Bilder in einem MC nebeneinander zu legen...

vG
 
Hi,

Habs eigentlich so verstanden, dass man von einem MC mit (Vektor-?)Daten sone Art Snapshot macht und den dann attached?
Ja, das ist korrekt. Dies funktioniert z.B. so:
Code:
import flash.display.BitmapData;

var bmp = new BitmapData(src._width, src._height, true, null);

// "src" ist der Instanzname des zu kopierenden Clips

bmp.draw(src); // Snapshot des Quell-MC anlegen

var dest = this.createEmptyMovieClip("dest", this.getNextHighestDepth()); // Clip für Duplikat anlegen

dest.attachBitmap(bmp, 1); // Bitmap dem neuen Clip hinzufügen

[..] das betreffende Bild 2x geladen wird und sich somit die Ladezeit verdoppelt.
Das muss nicht der Fall sein, da das Bild beim ersten Mal eigentlich im Browsercache landen sollte.

Hatte ursprünglich sowas überlegt, dass man das Bitmapbild in die Bibliothek (oder den Cache) lädt und dann bei Bedarf attached.
Das geht leider nicht. Ich würde Dir in diesem Fall tatsächlich zur BitmapData-Lösung raten.

Wenn Du damit nicht klar kommst, poste bitte Deine .fla - dann schaue ich gerne mal drüber. Allerdings werde ich frühestens am Montag dazu kommen.

Gruß
.
 

Neue Beiträge

Zurück