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

时间:2013-10-24 09:05:30

标签: actionscript-3

任何人都可以告诉我如何编写代码,以便在影片剪辑进入舞台时启动计时器,并在影片剪辑移出舞台时停止计时器。

我已将某些影片剪辑放置在舞台之外,并让它们在舞台上从右向左移动(当然,在x轴上,每次3像素)。当每个影片剪辑进入舞台时,应触发相关的计时器。当定时器被触发时,它将每隔两秒开始播放一个特定的音频片段。当影片剪辑移出舞台时,计时器应该停止,这样mp3音频也会停止。最谨慎的建议 NON-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;
}

1 个答案:

答案 0 :(得分:0)

你几乎已经这样做了:

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;
}