PDA

Volledige versie bekijken : duplicateMovieClip in een movieclip?


mknol
%Europe/Berlin %437 %2005, 11:30
Beste mensen, ik heb dit script gemaakt, wat random sterren laat verschijnen.
Nu wil ik dat dit geheel niet over alle andere movieclips in het filmpje gaat, maar in een aparte (lege) movieclip.. Hoe kan ik dit doen?


kleurenLijst = new Array("0x33B7FF", "0xDCF2F9", "0xFFC937", "0xF08A4D", "0xD7E77D", "0xE77DC8", "0xFFFFFF", "0xFFFFFF");
maxSterren = 50;
snelheid = 100;
// Wijzig alleen bovenstaande variabelen
//
function sterren() {
c = c+1;
// Steren teller
randomGetal = Math.round(Math.random(500)*(kleurenLijst.length-1));
// telkens random getallen
randomScale = random(120);
// telkens random getallen
duplicateMovieClip("_root.drop", c, c);
// Dupliceer die sterren
setProperty(c, _x, random(520)+180);
// x-positie
setProperty(c, _y, -20);
// y-positie
setProperty(c, _xscale, randomScale);
// x-scale
setProperty(c, _yscale, randomScale);
// y-scale
myColor = new Color(c);
myColor.setRGB(kleurenLijst[randomgetal]);
if (c>maxSterren) {
//als het maximale aantal sterren is bereikt..
removeMovieClip(c-maxSterren);
// .. worden de meest oudste verwijderd.
}
}
setInterval(sterren, snelheid);
// elke 0,1 seconde wordt de bovenstaande actie uitgevoerd.
stop();

theFlashWizard
%Europe/Berlin %471 %2005, 12:19
maak een mc die je holder noemt en zet die op het gewenste niveau, dan kun je daar al je sterren inladen :)

enne gebruik:
c._yscale = randomScale
ipv
setProperty(c, _yscale, randomScale);

of je kan et zelfs zo doen:
c._xscale = c._yscale = randomScale

Finesky
%Europe/Berlin %473 %2005, 12:22
En dat plaatsen in die holder moet dan zo;)
duplicateMovieClip("_root.drop", c, this.holder.getNextHighestDepth());

mknol
%Europe/Berlin %488 %2005, 12:43
duplicateMovieClip("_root.drop", c, this.holder.getNextHighestDepth());


Dit werkt niet goed, nu komen mn sterren het beeld niet in, en blijven boven hangen. hoe kan dat?

kan dit trouwens ook?

_root.holder.duplicateMovieClip("_root.drop", c, c);

theFlashWizard
%Europe/Berlin %492 %2005, 12:49
dan moet je het zo doen:
_root.holder.duplicateMovieClip(drop, "c", c);
en die drop dan ook in de holder zetten.

mknol
%Europe/Berlin %496 %2005, 12:55
hmm ik krijg het niet hiermee werkend.
Moet dat script op die holder, of maakt dat niet uit!?

mknol
%Europe/Berlin %502 %2005, 13:03
getNextHighestDepth kan ik trouwens ook niet in de help vinden. Misschien een mx2004 optie?

Cowerd
%Europe/Berlin %524 %2005, 13:35
ja volgens mij wel ja..
Op de MX van een vriend van mijn stond het er ook niet bij nee

mknol
%Europe/Berlin %534 %2005, 13:49
ja volgens mij wel ja..
Op de MX van een vriend van mijn stond het er ook niet bij nee

okee, en nu!?

Roenes
%Europe/Berlin %630 %2005, 16:08
Voor zover ik weet is het niet mogelijk om een path aan te geven waarin je de gedupliceerde mc wilt zetten. Volgens mij komt deze op dezelfde tijdslijn als het origineel.

Wil je dit toch voor elkaar krijgen, dan moet je werken met attachMovie. Dan kun je wel aangeven in welke tijdslijn een mc geplaatst moet worden :)

theFlashWizard
%Europe/Berlin %047 %2005, 02:08
het werkt niet als je die drop mc in de holder mc zet, alles instancenames geeft en het script:
_root.holder.duplicateMovieClip(drop, "c", c);
op de hoofdtijdlijn zet, dus niet eens in de holder.