Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-11-2005, 11:14   #1 (permalink)
Derber Flasher
 
Benutzerbild von droptix
 
Registriert seit: Jul 2001
Ort: Chemnitz (Sachsen)
Beiträge: 251
Question Verständnisproblem bei duplicateMovieClip

Habe einen leeren Container-Movie auf der Bühne namens "container". Der ist für allgemeine Lade-Sachen gedacht. Um dort nichts zu überschreiben, soll ein weiterer Container (Main-Container) in "container" erzeugt werden. Ich nenne ihn mal "dmcc" (steht für: duplicate movie clip container). Und darin kommen schließlich zwei weitere 'EmptyMovieClips' – ich nenne sie mal Sub-Container ("dmc1" und "dmc2"). In den ersten möchte ich Inhalt aus der Bibliothek reinladen (attachMovie). Anschließend soll der komplette Inhalt des ersten MCs in den zweiten kopiert werden. Um dabei nichts zu vergessen, würde ich einfach "dmc1" nach "dmc2" duplizieren.

Später kommt der Inhalt aber nicht aus der Bibliothek, sondern von extern (Bild z.B.), also kann ich nicht einfach nochmal 'attachMovie' machen. Fragt vorerst bitte nicht nach dem Sinn, den poste ich gern später mit funktionierendem Beispiel…

Ich dachte es mir so:

Code:
// predefine clip names
dmcc = "dmcc";
dmc1 = "dmc1";
dmc2 = "dmc2";
nm = "nomatter";
// create main container
_root["container"].createEmptyMovieClip(dmcc, 1);
// create sub containers in main container
_root["container"][dmcc].createEmptyMovieClip(dmc1, 1);
_root["container"][dmcc].createEmptyMovieClip(dmc2, 2);
// load content from library into first sub container
_root["container"][dmcc][dmc1].attachMovie("dmc", nm, 1);
// clone whole first sub container to second one (overwrite!)
_root["container"][dmcc][dmc1].duplicateMovieClip(dmc2, 2);
// displace second sub container
_root["container"][dmcc][dmc2]._x += 25;
_root["container"][dmcc][dmc2]._y += 25;
Aber das geht nicht. Es wird lediglich der Inhalt geladen, aber nicht dupliziert. Ich brauche aber unbedingt erst die leeren Sub-Container, um vor dem Hineinladen von Inhalten Eigenschaften wie '_alpha' zu setzen.

Wo ist der Fehler im oberen Code-Snippet? Warum wird "_root.container.dmcc.dmc1" nicht dupliziert? Oder wird etwa dupliziert, nur ohne den zuvor 'attachten' MC?

Dieses Beispiel funktioniert wie ich will, aber enthält nicht die Sub-Container:

Code:
// predefine clip names
dmcc = "dmcc";
dmc1 = "dmc1";
dmc2 = "dmc2";
// create main container
_root["container"].createEmptyMovieClip(dmcc, 1);
// load content from library as first sub container into main container
_root["container"][dmcc].attachMovie("dmc", dmc1, 1);
// clone whole first sub container to second one
_root["container"][dmcc][dmc1].duplicateMovieClip(dmc2, 2);
// displace second sub container
_root["container"][dmcc][dmc2]._x += 25;
_root["container"][dmcc][dmc2]._y += 25;
__________________
Droptix WebDesign
www.droptix.de

Geändert von droptix (08-11-2005 um 12:45 Uhr)
droptix ist offline   Mit Zitat antworten
Alt 08-11-2005, 12:48   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Warum wird "_root.container.dmcc.dmc1" nicht dupliziert?
Wie du selber schon festgestellt hast, kannst du nur MCs duplizieren, die vor Laufzeit schon als MC auf der Bühne liegen. Dynamisches Duplizieren zur Laufzeit mit vorher attachten MCs geht nicht. Deine Subcontainer müsstest du einzeln in die diversen MCs attachen.
  Mit Zitat antworten
Alt 09-11-2005, 11:36   #3 (permalink)
Derber Flasher
 
Benutzerbild von droptix
 
Registriert seit: Jul 2001
Ort: Chemnitz (Sachsen)
Beiträge: 251
Steht so nicht in er Hilfe

Hmm, das ist schlecht. In der Hilfe steht nur, dass duplizierte Clips nicht nochmal dupliziert werden, wenn man den übergeordneten Clip dupliziert, der ein Duplikat enthält. Oh -> krasser Satz!

Über attachMovie() steht da nix. Ich hab das mittlerweile auch anders gelöst, aber so gefällt's mir nur halb. Aber es funktioniert.

Denn ich lade externe Daten wie z.B. Bilder. Anscheinend werden auch mit loadMovie() herein geladene Objekte ebenfalls nicht dupliziert, weil sie zur Laufzeit noch nicht da waren.

Was mich dann aber wundert: Wenn ich anstelle der attachMovie()-Zeile dynamisch ein Objekt zeichne (moveTo(), lineTo() etc.), dann wird dieses dynamisch erstellte Zeichnungs-Objekt dupliziert, obwohl es nicht von Beginn an da war. Wieso das?
__________________
Droptix WebDesign
www.droptix.de
droptix ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele