Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 31-03-2007, 19:37   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 2
Question movieclips dynamisch verschachteln ohne attachMovie

Hallo ihr guten Freaks!

Ich komme hier mal wieder nicht weiter. Ich will mandelbrotsche Schirmbäume erzeugen, schaffe es jedoch nicht, dass die erzeugten mcs verschachtelt werden:

astFunktion= function(astName, tiefe, x, y, neigung, level, maxLevel) {

_root.createEmptyMovieClip(astName, tiefe);

// Positionieren:
_root[astName]._x = x;
_root[astName]._y = y;

// Drehen:
_root[astName]._rotation = neigung;

// Skalieren:
_root[astName]._xscale = _root[astName]._yscale = 50+random(40);

// Zeichnen
_root[astName].lineStyle (1, 0x000000);
_root[astName].moveTo (0, 0);
_root[astName].lineTo (0, -100);

// Solange die maximale Rekursionstiefe noch nicht erreicht ist
// werden jeweils 2 weitere Äste erstellt:

if(level<maxLevel){


// Linker Ast:

astFunktion(astName+".l", tiefe+1, 0, -100, Math.random() * -45, level+1, maxLevel);

// Rechter Ast:

astFunktion(astName+".r", tiefe+2, 0, -100, Math.random() * 45, level+1, maxLevel);



};


}

Ich weiß dass diese Lösung mit astName+".l" quatsch ist. allerdings ist der pfad der erzeugten clips richtig. wenn ich das trace, dann kommt z.B. "_level0.astName.l" etc. Aber "astName.l" befindet sich trotzdem nicht in "astName". eigentlich müsste es ja so laufen: der erste mc wird erzeugt mit _root[astName1], der zweite mit _root[astName1][astName2] usw... wie geht das fällt euch da was ein?

Danke schonmal
Grüße
nelson
nelson noob ist offline   Mit Zitat antworten
Alt 02-04-2007, 11:01   #2 (permalink)
liebt Skorpionin
 
Benutzerbild von Skorpion
 
Registriert seit: Apr 2003
Beiträge: 1.258
Natürlich landen alle MovieClips auf _root wenn du die Methode createEmptyMovieClip auf _root anwendest:

Code:
_root.createEmptyMovieClip(astName, tiefe);

Du könntest Grundast und neuen Ast getrennt übergeben:

Code:
astFunktion= function(ast, neuerAst, tiefe, x, y, neigung, level, maxLevel) {

ast.createEmptyMovieClip(neuerAst, tiefe);
Skorpion ist offline   Mit Zitat antworten
Alt 02-04-2007, 11:26   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2007
Beiträge: 2
Danke für die Antwort. Vom Prinzip her hast Du natürlich recht, das hab ich mir auch schon überlegt. Bloß müsste da bei jedem Durchlauf eine Variable dazu kommen, denn das ganze soll ja immer weiter verschachtelt werden. Bei maxLevel=9 gibt es z.B. Äste mit pfaden wie _root.stamm.l.l.r.l.l.l.r.l.r . Was ich auch schon probiert habe, ist "ast" z.B. mit "stamm.l.r" zu füllen und den mc dann mit

_root[ast].creatEmptyMovieClip(neuerAst, tiefe)

zu erzeugen. das funktioniert aber nicht. die frage ist also: wie kann ich den Pfad einer Anweisung aus beliebig vielen Variablen zusammensetzen? vielleicht irgendwie mit nem Array?
nelson noob 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 01:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele