Volledige versie bekijken : mc op stage random afspelen
alb
%Europe/Berlin %462 %2007, 12:06
dag,
ik heb op mijn stage drie Mc staan nl. clip0,clip1 en clip2
nu wil ik dat deze clips in random volgorde worden afgespeeld
ik probeer dit met de volgende code
var allMc:Array = new Array("clip0","clip1","clip2");
function schudden(){
keuzeMc= allMc[Math.round(Math.random()*2)];
trace(keuzeMc);
_parent["keuzeMc"].gotoAndPlay(2);
}
schud = setInterval(schudden,5000);
echter er komt geen beweging in de MC, kan iemand mij vertellen hoe ik dit moet doen
Strato
%Europe/Berlin %525 %2007, 13:36
Je zet nu stings in je array in denk dat het daar door komt en misschien de verwijzing
var allMc:Array = new Array(clip0, clip1, clip2);
function schudden() {
keuzeMc = allMc[Math.round(Math.random()*2)];
trace(keuzeMc);
keuzeMc.gotoAndPlay(2);
}
schud = setInterval(schudden,1000);
alb
%Europe/Berlin %535 %2007, 13:51
ik heb inmiddels de oplossing
var allMc:Array = new Array("clip0","clip1","clip2");
function schudden(){
var keuzeMc:MovieClip = allMc[Math.round(Math.random()*2)];
trace(keuzeMc);
tellTarget(keuzeMc){gotoAndPlay(2);
}
}
schud = setInterval(schudden,4000);
bij deze...
BernardV
%Europe/Berlin %909 %2007, 22:50
WTF (sorry) tellTarget?!?! Dat is uit grootmoeders tijd.. ga voor de vorige uitleg, maar vergeet dit!
Maar even wat anders. Heb je wel door wat je allemaal in je script doet?
(commentaar staat elke keer onder je code)
Ik zal even proberen uit te leggen wat daar gebeurd.
var allMc:Array = new Array("clip0","clip1","clip2"); Hier plaats je de namen van de movieclips in een array, prima oplossing, mits ze ook daadwerkelijk deze namen hebben.
keuzeMc= allMc[Math.round(Math.random()*2)];Hier haal je een waarde uit de array en zet deze in de variabele keuzeMc.
Dit is prima, alleen ik zou het zo doen (is wat makkelijker in de toekomst)
keuzeMc= allMc[Math.floor(Math.random()*allMc.length)]; Nu heb je geen vaste waardes meer ;)
trace(keuzeMc); Duidelijk lijkt me...
_parent["keuzeMc"].gotoAndPlay(2); Hier gaat het MIS! Je plaatst hier namelijk keuzeMc tussen "" dus wordt het behandeld als String en niet als variabele. Nu zal er gezocht worden naar de movieclip die "keuzeMc" heet en dus niet de waarde die je in keuzeMc hebt geplaatst.
De oplossing: _parent[keuzeMc].gotoAndPlay(2); Zonder ""...
Hoop dat je hier iets mee kunt, dit is geen garantie dat het nu gaat werken, maar wel een stap in de goede richting hoop ik.
alb
%Europe/Berlin %907 %2007, 22:46
wat leuk een reactie...
alleen
_parent[keuzeMc].gotoAndPlay(2);
werkt niet !
grootmoeders oplossing echter doet wat het moet doen
verder het leren van actionscript doet men met vallen en opstaan...
BernardV
%Europe/Berlin %269 %2007, 07:28
Misschien dan geen _parent maar gewoon this ?
alb
%Europe/Berlin %327 %2007, 08:51
had ik ook al geprobeerd maar dit werkte ook niet, het zal wel met een onjuiste adressering te maken hebben, kon hem echter niet bedenken...
nog even een opmerking over het random bepalen van een element uit een array, je gaf als een betere oplossing
keuzeMc= allMc[Math.floor(Math.random()*allMc.length)];
deze geeft ook vanuit mijn array het getal 3 als mogelijk randomgetal
de array bestaat wel uit 3 elementen maar allMc[3] bestaat niet
wel bestaan allMc[0], allMc[1], allMc[2], je dient dus allMc.lenght met 1 te verminderen
BernardV
%Europe/Berlin %503 %2007, 13:05
wel bestaan allMc[0], allMc[1], allMc[2], je dient dus allMc.lenght met 1 te verminderen
Klopt.. foutje...
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.