Actionscript 3 随机播放movieclip AS3的多个实例

Actionscript 3 随机播放movieclip AS3的多个实例,actionscript-3,timer,instance,movieclip,Actionscript 3,Timer,Instance,Movieclip,我制作了一部电影《一只眼睛的嘴唇》,设置为以随机间隔播放闪烁的动画。 我想把这部电影的许多例子放在舞台上,它们都在不同的时间播放。 但是如果我在舞台上放多个剪辑实例,只有一个会播放。如何让多个实例同时播放 我已经好几年没有使用flash了,如果可以的话,请简单解释一下~ stop(); var eyeTimer = new Timer(1000 + Math.random() * 1000); eyeTimer.addEventListener(TimerEvent.TIMER, blink);

我制作了一部电影《一只眼睛的嘴唇》,设置为以随机间隔播放闪烁的动画。 我想把这部电影的许多例子放在舞台上,它们都在不同的时间播放。 但是如果我在舞台上放多个剪辑实例,只有一个会播放。如何让多个实例同时播放

我已经好几年没有使用flash了,如果可以的话,请简单解释一下~

stop();
var eyeTimer = new Timer(1000 + Math.random() * 1000);
eyeTimer.addEventListener(TimerEvent.TIMER, blink);
eyeTimer.start();
function blink(evt:TimerEvent):void {
  Timer(evt.currentTarget).delay = 1000 + Math.random() * 1000;

 trace( "triggered!" );
 eye.gotoAndPlay(1);
}

使用setTimeOut方法更容易。用户下面的代码为你的眼睛MovieClip

addEye (45,78);
addEye (76,44);
...

function addEye (X,Y)
{
    var eye:Eye = new Eye ();
    eye.x = X;
    eye.y = Y;
    this.addChild(eye);

    eye.gotoAndStop(1);//Stop the eye from blinking. may be on frame 1 maye be on other frame number.
    setTimeOut(blink,1000+Math.random()*1000);
    function blink():void
    {
        eye.gotoAndPlay(2);
        setTimeOut(blink,1000+Math.random()*1000);//Call the random function with random time again
    }

}

你需要接近这只眼睛作为一个组件。将此代码转移到眼睛中,使其自行工作。那你就可以随心所欲地多放几只眼睛了。好吧,我这么做了,现在它说‘调用可能未定义的方法‘眼睛’,而且每只眼睛都在同时眨眼,而不是随机眨眼。这就是为什么我没有说复制,我说转移。这意味着你应该了解你在做什么,以及你是从内部而不是外部处理眼睛电影剪辑的事实。我认为原始代码对于更随机的眨眼效果更好。但是,我仍然收到相同的错误,“调用可能未定义的方法眼”,并且每只眼睛都同时闪烁。所有眼睛都在同一时间闪烁,因为没有为它们激活代码,默认回放是使它们同时闪烁。你在哪里写代码?您应该将代码添加到Eye MovieClip或Eye MovieClip基类的第一帧。然后你必须用这个切换eye.gotoAndPlay1。代码在eye movieclip的第一帧上。我没有一个基类。那么,你有eye实例名吗?如果没有,请将eye.gotoAndStop更改为this.gotoAndStop。我想你在将代码移到Eye MovieClip后忘记了更改名称。根据你的建议,我已经这样做了。这是gotoAndStop1;变量眼:眼=新眼;var eyeTimer=new Timer1000+Math.random*1000;eyeTimer.addEventListenerTimerEvent.TIMER,闪烁;eyeTimer.start;函数blinkevt:TimerEvent:void{Timerevt.currentTarget.delay=1000+Math.random*1000;跟踪触发!;this.gotoAndPlay1;eyeTimer.removeeventlistenertimrevent.TIMER,blink;}我必须添加removeEventListener,否则Flash会崩溃。我想它是无限地加载它或者其他什么。但我不知道如何重新启动它?