AS3 addChild op een specifieke layer

Status
Niet open voor verdere reacties.

werocom

Gebruiker
Lid geworden
16 apr 2008
Berichten
72
Hallo,

Om een movieclip op de stage te plaatsen gebruik ik tot nu toe stage.addChild(movieclip). Wat er dan gebeurd is dat de movieclip bovenop de andere movieclips wordt geplaatst.

Hoe kan ik opgeven op welke layer de movieclip moet worden geplaatst, iets als stage.layer[3].addChild(movieclip), maar helaas is het niet zo makkelijk.

Via google heb ik wat informatie kunnen vinden maar dat ging allemaal over actionscript 2, ik programmeer in actionscript 3.

Help mij ;)
 
De stage (en elke movieClip,sprite,displayobject,...) heeft in as3 een displaylis. Deze lijst bepaalt de volgorde waarin objecten worden getoond.

Je voegt een displayObject toe via:
Code:
stage.addChild(displayObject)

Je voegt een displayObject toe op ene bepaalde positie via:


Code:
stage.addChildAt(displayObject)
Maar let op: Dit moet oplopend zijn (0-1-2-3). Je kan dus geen objecten op positie 9999 plaatsen en als lege plaatsen zijn.

Verder kan je displayobject ophalen via:

Code:
stage.getChildAt(index:int)
stage.getChildByName(name:String)
stage.getChildIndex(DisplayObject)

en kan je de layer veranderen door:

Code:
stage.swapChildren(displayobject1,displayobject2)
stage.swapChildrenAt(index1:int, index2:int)


Dus:
Code:
var mc1:MovieClip = new MovieClip();
var mc2:MovieClip = new MovieClip();

stage.addChildAt(mc1,1);
stage.addChildAt(mc2,2);

stage.swapChildren(mc1,mc2);

var mc3:MovieClip = stage.getChildAt(1);

Misschien dat je ook hier eens kunt gaan kijken : http://www.flashfocus.nl/index.php
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan