谁能告诉我如何编写代码,使计时器在影片剪辑进入舞台时启动,计时器在影片剪辑移出舞台时停止。
我将某些影片剪辑放置在舞台外,并使它们在舞台上从右向左移动(当然,在 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;
}