Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-11-2006, 10:24   #1 (permalink)
Addicted to Flas
 
Benutzerbild von eliias
 
Registriert seit: Sep 2002
Ort: Salzburg/Austria
Beiträge: 335
duplicateMovieClip für verschachtelte per attachMovie erzeugete Movieclips

Hoi Leute,

Hab folgendes Problem. Ich erstell dynamisch einen Movieclip auf der Bühne und attache aus einer Shared Library die vorher geladen wird einige Movieclips in die Bühne, das attachen ist noch dazu teilweise verschachtelt, also ich attache einen Movieclip und in diesen wieder einen hinein.

Zum ersten Mal ist mir heute aber aufgefallen das solcherart erstelle Movieclips sich nicht ohne weiteres duplizieren lassen mit duplicateMovieClip, hab mir dann noch eine einfache Demo gebaut um einen Fehler auszuschließen und es ist wirklich so.

Also meine Frage, eigentlich Bitte. Hat irgendjemand eine einfache Möglichkeit gefunden solche MovieClips zu duplizieren. Meine Idee war halt bei der Generierung das ganze für den duplizierten Clip sofort mitzumachen, aber wenns ned sein muss wär das natürlich fein.

lg h.
__________________
Blog
Ace of Mace
eliias ist offline   Mit Zitat antworten
Alt 22-11-2006, 03:56   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
duplicateMovieClip funzt nur für MCs, die schon zur Laufzeit auf der Bühne liegen. Ab Flash 8 hast du aber die Möglichkeit, MC-Grafiken zu "kopieren", schau dir dazu mal die BitmapData-Klasse in der Flash-Hilfe an.
  Mit Zitat antworten
Alt 22-11-2006, 15:07   #3 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
hatte da mal was. kann man ja ausbauen
PHP-Code:
// duplicateMovieClip für verschachtelte attachMovie bis zu 3. verschachtelungen
// der verknüpfungs name muß bis hier '_' identisch sein. 
// beispiel: verknüpfungs name "neben" in bib.  neuer name auf bühne  "neben_irgentwas"
// x , y und die tiefe werden gesetzt. 

MovieClip.prototype.duplicateMC = function (mc) {
    var 
h=this.duplicateMovieClip (mcthis._parent.getNextHighestDepth ());
    for (var 
a in this) {
        if (
typeof (this[a]) == "movieclip") {
            var 
mc1 h.attachMovie (a.substring (0a.indexOf ("_"0)), athis[a].getDepth (), {_x:this[a]._x_y:this[a]._y});
            var 
= (this[a]);
            for (var 
b in c) {
                if (
typeof (c[b]) == "movieclip") {
                    
mc1.attachMovie (b.substring (0b.indexOf ("_"0)), bc[b].getDepth (), {_x:c[b]._x_y:c[b]._y});
                }}    }}
};
//-------  MC aus attachMovie zusamen bauen
this.attachMovie ("haupt""ursprung_mc"1);
this.ursprung_mc.attachMovie ("neben""neben_0"1);
this.ursprung_mc.attachMovie ("neben""neben_1"2, {_x:50});
this.ursprung_mc.neben_1.attachMovie ("neben""neben_2"1, {_x:100});
this.ursprung_mc.neben_1.attachMovie ("neben""neben_3"3, {_x:110});
//-------
//------- MC's duplizieren aus ursprung
this.ursprung_mc.duplicateMC ("duplikat_erster");
this.duplikat_erster._y 100;
this.ursprung_mc.duplicateMC ("duplikat_zweiter");
this.duplikat_zweiter._x 300;
//-------- oder aus einem duplikat
this.duplikat_zweiter.duplicateMC ("duplikat_dritter");
this.duplikat_dritter._y 200
__________________
gruß Harry
HAY 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 04:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele