04. juli 2003 - 19:43
Der er
23 kommentarer og 2 løsninger
for løkke i flash
Jeg har et script som jeg gerne vi have lavet lidt mere dynamisk. Det vil bare desværre ikke helt som jeg vil. Den nuværende kode ser sådan ud: if(movenum==1){ gotoandplay(move1); } if(movenum==2){ gotoandplay(move2); } if(movenum==3){ gotoandplay(move3); } if(movenum==4){ gotoandplay(move4); } if(movenum==5){ gotoandplay(move5); } if(movenum==6){ gotoandplay(move6); } Istedet vil jeg gerne have kode til at ligne noget nær dette: for(i=1;i=moves;i++){ if(movenum==i){ gotoandplay("move"+i); } } Nogle forslag.. Det må være her den går galt (gotoandplay("move"+i);)
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Muligvis: eval("gotoandplay(move"+i+");");
Hvis den virker er det det samme som: if (movenum>=1 && movenum<=6) { eval("gotoandplay(move"+movenum+");"); }
Den reagere desværre på samme måde som gotoandplay("move"+i);
nu hedder det også gotoAndPlay :-)
for(i=1;i=moves;i++){ if(movenum == i){ flyt = eval("move"+i); gotoAndPlay(flyt); } } /per
Det virker stadig ikke... Trode ellers den var der
Hvis det ikke virker, så kan din kan din for løkke ikke få fat på variablerne! for(i=1;i=moves;i++){ trace("movenum " + movenum); trace("move1 " + move1); if(movenum == i){ flyt = eval("move"+i); gotoAndPlay(flyt); } } /per
for gør jo så at alle movieclips (hvis det er det?) bliver afspillet med det samme (hvis du sætter den på framen ...) du kan afspille movieclips med MC.play - et lille eksempel (som jeg vil løse dit problem - forstår det ik helt): for (i=1;i<=6;i++){ "move"+i.play(); } fjern din movenum streng - hvis det her ikke virker må du liiige forklare hvad det er du vil - har du mere kode end det du viser evt. ?
Denne her virker for (i=1; i<moves; i++) { trace ("movenum "+movenum); trace ("i "+i); if (movenum == i) { flyt = eval("move"+i); trace ("flyt "+flyt); gotoAndPlay (flyt); } } /per
04. juli 2003 - 22:52
#10
Det virker stadig ikke.. forløkken gør intet.. Den stopper bare i den frame den er i.
04. juli 2003 - 22:53
#11
Men Per. Kan du forklare hvad eval og trace gør?
04. juli 2003 - 22:55
#12
trace spytter værdien ud i output vinduet hvis du debugger filmen (ctrl+enter) eval sætter vist nok 2 værdier sammen - har jeg ret ?
04. juli 2003 - 23:58
#13
Det er vel bare: gotoAndPlay(this["move" + i]); ...eller noget (o;
05. juli 2003 - 00:37
#14
nårh ja... gotoAndPlay(this["move" + movenum]); (o;
05. juli 2003 - 00:40
#15
gotoAndPlay(this["move" + movenum]); Gør det samme som de andre.. Intet.. desværre
05. juli 2003 - 14:00
#16
Jeg har lige prøvet den her af... Den virker altså (o; stop(); movenum = 2; blah = "move" + movenum; gotoAndPlay(blah);
05. juli 2003 - 14:03
#17
legende.dk> Men den du skriver der er jo storset identist med den jeg postede i spørgsmålet gotoandplay("move"+i);
05. juli 2003 - 14:04
#18
Er det korrekt, ville spørgerens oprindelig kode også virke med denne ændring: for(i=1;i<=moves;i++){
05. juli 2003 - 14:05
#19
eksempel move5=25; movenum = 5; blah = "move" + movenum; gotoAndPlay(blah); skal gøre det samme som gotoAndPlay(25);
05. juli 2003 - 14:07
#20
Ja, derfor burde det også virke, husk dog at hvis disse instancer ligger i et movieclip, skal koden naturligvis ligge i samme movieclip, ellers skal du have stien med til mc'et, husk også camelCase på metoderne = mc.gotoAndPlay("move" + i) - tja
05. juli 2003 - 14:08
#21
move5=25; skal bare gå til frame nr. 25
05. juli 2003 - 15:02
#22
Nu har jeg fået det til at virke. Tog lidt fra de forskellige muligheder. blah = eval("move" + movenum); gotoAndPlay(blah); Super response på mit spørgsmål... mange tak... hvem vil have points :o)
11. juli 2003 - 00:12
#23
Velbekomme! Det bestemmer du. :-) /per
12. juli 2003 - 17:27
#24
Sjovt nok... JEg prøvede ellers den anden (gotoAndPlay("movenum" + i)) af :) ... Men det er da rart det virker - godt samarbejde dér, Hoejrup :)
12. juli 2003 - 19:06
#25
legende.dk>Tak i lige måde. :-) /per
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.