Afspille tilfældigt movieclip
Hej.
Jeg er ved at lave et skydespil hvor fjenden skal hoppe frem forskellige steder på skærmen. Jeg har så lavet 4 forskellige movieclips hvor fjenden tweener frem på skærmen og placeret dem forskellige steder på scenen.
Så skal jeg bare have disse movieclips til at blive afspillet i tilfældig rækkefølge.
Her er min kode:
var clips:Array=new Array(bully1_mc,bully2_mc,bully3_mc,bully4_mc);
var movie1:int;
var movie2:int;
var movie3:int;
var movie4:int;
var arr2:Array = [];
var myTimer:Timer = new Timer(100);
myTimer.addEventListener(TimerEvent.TIMER, onTimerEvent);
function onTimerEvent(e:TimerEvent):void{
while (clips.length > 0) {
arr2.push(clips.splice(Math.round(Math.random() * (clips.length - 1)), 1)[0]);
trace(arr2);
}
movie4 = movie3;
movie3 = movie2;
movie2 = movie1;
movie1 = arr2.length-1;
//dette var et forsøg, men det virker ikke:
movie1.gotoAndPlay("start");
}
myTimer.start();
På forhånd tak!
- log ind eller opret konto for at skrive kommentarer


Kommentarer
Prøv med det her:
Tak for svaret. Men jeg har fået den til at lave arrayet i tilfældig rækkefølge, men jeg ved bare ikke hvordan jeg afspiller de forskellige movieclips i den rækkefølge som er blevet genereret?
Giver det mening?
Når jeg prøver det får jeg denne fejl:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Klassev_fla::MainTimeline/onTimerEvent()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
Jeg fandt ud af det. Jeg skulle bare remove min eventlistener når counter > arr2.length - 1
Mange tak for hjælpen!!
Ellers så tror jeg du skal have stoppet din timer, hvis du ikke har sat den til kun at køre et bestemt antal gange.