PDA

Volledige versie bekijken : loop met attach IN mc


davyvh
%Europe/Berlin %586 %2005, 15:04
Hoy,
Ik wil een mc een aantal keer attachen IN een mc in achter een mask.
Dat lukt met deze code als deze op de keyframe van de mask zelf is geplaatst:
var aantal:Number = 20;
var spacing:Number = 105;
var x_pos = 75;
var y_pos = 195;

for(var i=0; i<=20; i++){
var item = attachMovie("scrolList_item", "item", _root.getNextHighestDepth());
item._x = x_pos + i*spacing;
item._y = y_pos;
}

Nu wil ik de code op de root, maar de mc moet nog altijd 'ge-attacht' worden in die mask.

Hoe doe ik dit?

Alvast erg bedankt,
Davy

Roenes
%Europe/Berlin %717 %2005, 18:13
Nu wil ik de code op de root, maar de mc moet nog altijd 'ge-attacht' worden in die mask.

Hoe doe ik dit?
Door voor attachMovie het path naar de mc te zetten, bv:
_root.mcA.mcB.attachMovie("link", "nieuwenaam", 1);Deze regel zorgt ervoor dat "nieuwenaam" IN mcB geattached wordt. mcB staat zelf weer in mcA welke weer op de _root staat.

Anyway, ik denk dat het wel duidelijk is :)

davyvh
%Europe/Berlin %752 %2005, 19:03
Had ik al eens geprobeer, maar toen had ik problemen met de loop...
Ik dacht dat je perse een var moest gebruiken bij het attachen in een loop...
Ik kon namelijk de x positie van de items niet meer juist plaatsen.
for(var i=0; i<=20; i++){
mask.attachMovie("scrolList_item", "item", _root.getNextHighestDepth());
mask.item._x = i*spacing;
}
Normaal moeten de items nu in de mc mask zitten, maar ze zijn er niet te zien...

Groeten,
Davy

Roenes
%Europe/Berlin %998 %2005, 00:57
Dat komt doordat je niet iedere nieuwe mc een unieke naam geeft. Dit moet wel. Je moet je code dan veranderen naar dit:

for(var i=0; i<=20; i++){
var mc = mask.attachMovie("scrolList_item", "item" + i, _root.getNextHighestDepth());
mc._x = i*spacing;
}

davyvh
%Europe/Berlin %455 %2005, 11:56
Ok, er zat dus een andere fout in...
'_root.getNextHighestDepth()' moest 'mask.getNextHighestDepth()' worden... De mc's werden dus onder de mc 'mask' ingeladen... Darom waren ze niet zichtbaar...

Nu is alles in orde, erg bedankt!