1

我正在制作一个网站,我想在 16 页之间进行时间延迟,我已经这样做了:

var myDelay:Timer = new Timer(700,1);

myDelay.addEventListener(TimerEvent.TIMER, showMessage);
myDelay.start();

function showMessage(event:TimerEvent):void{
    gotoAndPlay("anim1");
}
stop();

然后在页面 anim1 我有:

stop();

b4.addEventListener(MouseEvent.ROLL_OVER, b4_over);
b4.addEventListener(MouseEvent.CLICK, b4_clicked);
ma.addEventListener(MouseEvent.ROLL_OVER, ma_over);
ma.addEventListener(MouseEvent.CLICK, ma_clicked);
pt1.addEventListener(MouseEvent.MOUSE_OVER, pt1_over);
en.addEventListener(MouseEvent.MOUSE_OVER, en_over);

var myDelay2:Timer = new Timer(700,1);
myDelay2.addEventListener(TimerEvent.TIMER, showMessage2);
myDelay2.start();

function showMessage2(event:TimerEvent):void{
   gotoAndPlay("anim2");
}
stop();

这一直持续到页面“anim19”。问题是我的点击按钮不能很好地工作(我点击,然后我转到另一个页面,然后突然回到主页)并且随着 ROLL_OVER 效果时间变得有点奇怪......你能告诉我的代码有什么问题?

4

1 回答 1

1

我弄清楚出了什么问题,显然我正在开始时间而不是在这里完成它:

myDelay.start();

所以每次延迟都必须有停止事件,所以我添加了函数 b4_over、b4_clicked、ma_over、ma_clicked、pt1_over、en_over)

像这样:

function b4_over(event:MouseEvent):void
{
    this.gotoAndStop("page2");
    myDelay.stop();
    myDelay.stop(); 
    myDelay2.stop();
    myDelay3.stop();
    myDelay4.stop();
    myDelay5.stop();
    myDelay6.stop();
    myDelay7.stop();
    myDelay9.stop();
    myDelay10.stop();
    myDelay11.stop();
    myDelay12.stop();
    myDelay13.stop();
    myDelay14.stop();
    myDelay15.stop();
    myDelay16.stop();
    myDelay17.stop();
    myDelay18.stop();
    myDelay19.stop();   
}

一切都开始很好地协同工作。

于 2012-12-02T17:52:16.357 回答