在影片剪辑进入舞台时触发计时器,并在影片剪辑离开舞台时停止计时器 [as3]

  • 本文关键字:舞台 计时器 as3 离开 actionscript-3
  • 更新时间 :
  • 英文 :


谁能告诉我如何编写代码,使计时器在影片剪辑进入舞台时启动,计时器在影片剪辑移出舞台时停止。

我将某些影片剪辑放置在舞台外,并使它们在舞台上从右向左移动(当然,在 x 轴上,一次 3 个像素)。当每个影片剪辑进入舞台时,应触发相关的计时器。当计时器被触发时,它将每两秒间隔开始播放特定的音频剪辑。当影片剪辑移出舞台时,计时器应该停止,以便mp3音频也会停止。请建议一些非OOP的方法。它只是我需要的"触发"和"停止"部分。

stage.addEventListener(Event.ENTER_FRAME, loop)
function loop(e:Event){
if(e1.x <= -250){e1.x = 1250;}
if(e2.x <= -350){e2.x = 1325;}
if(e3.x <= -450){e3.x = 1400;}
if(e4.x <= -550){e4.x = 1475;}
if(e5.x <= -650){e5.x = 1550;}
if(e6.x <= -750){e6.x = 1625;}
e1.x -= 3;  
e2.x -= 3;
e3.x -= 3;  
e4.x -= 3;
e5.x -= 3;  
e6.x -= 3;
}

你几乎已经这样做了:

stage.addEventListener(Event.ENTER_FRAME, loop)
function loop(e:Event){
if(e1.x <= -250)
{
    e1.x = 1250;
    timerE1.stop()
    timerE1.reset()
}
else if(e1.x >= 1250)
{
     timerE1.start()
}
if(e2.x <= -350)
{
    e2.x = 1325;
    timerE2.stop()
    timerE2.reset()
}
else if(e2.x >= 1325)
{
     timerE2.start()
}

if(e3.x <= -450)
{
    e3.x = 1400;
    timerE3.stop()
    timerE3.reset()
}
else if(e3.x >= 1400)
{
     timerE3.start()
}

if(e4.x <= -550)
{
    e4.x = 1475;
    timerE4.stop()
    timerE4.reset()
}
else if(e4.x >= 1475)
{
     timerE4.start()
}

if(e5.x <= -650)
{
    e5.x = 1550;
    timerE5.stop()
    timerE5.reset()
}
else if(e5.x >= 1550)
{
     timerE5.start()
}

if(e6.x <= -750)
{
    e6.x = 1625;
    timerE6.stop()
    timerE6.reset()
}
else if(e6.x >= 1625)
{
     timerE6.start()
}
e1.x -= 3;  
e2.x -= 3;
e3.x -= 3;  
e4.x -= 3;
e5.x -= 3;  
e6.x -= 3;
}

最新更新