开发者

AS3 - Repeating a MovieClip quickly before it has finished

I've got an animation (arrows following paths on a map), and I need it to repeat about 10 times per second, so that there's an endless stream of arrows following their paths.

How can I repeat the m开发者_高级运维ovie clip to achieve this?


If your MovieClip is a single arrow following a path, you will need to instantiate several MovieClips at regular intervals in order to create a continuous stream of arrows.

  private var timer:Timer = new Timer( 100 );

  private function init():void
  {
      timer.addEventListener( TimerEvent.TIMER , createArrow );
      timer.start();
   }

  private function createArrow( event:TimerEvent ):void
  {
      var arrowMc:MovieClip = new ArrowMc();
      //here you should add a Complete Event listener
      //so that when the MovieClip is complete
      //you can remove it from the stage...
      //for this to work your arrowMc should dispatch a Complete
      //Event on the last frame!
      addChild( arrowMc );
  }

Alternatively, depending on your animations, you can simply instantiate a fixed number of animations MC and let them loop. Same as above, if your animation is a single arrow moving along a path, instantiate a fixed number by setting a limit to the Timer

   private var timer:Timer = new Timer( 100  , 10);
   //etc...


Use a Timer to call the function that animates your arrows at a fixed interval, or if you want only one arrow at a time, dispatch an Event when the animation finishes, and add a listener that will call your function when the event is dispatched.


This is a very old question but here is my answer to this. The MC is a basic animation using a guide layer. I am placing the MC on the stage multiple time and then using an interval to repeat the MC in 1 second intervals. "redBox" is the class name used when you export the MC to actionscript.

var redBtn:redBox;

function attachRedBoxes () {
for (var i:Number = 0; i < 5; i++) {
    redBtn = new redBox ();
    redBtn.ID = i;
    redBtn.name = "button_" + i;
    addChild (redBtn);

}
}


setInterval(attachRedBoxes,1000); 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜