我正在制作一个网站,我希望在16页之间延迟一段时间,我已经这样做了:
var myDelay:Timer = new Timer(700,1);
myDelay.addEventListener(TimerEvent.TIMER, showMessage);
myDelay.start();
function showMessage(event:TimerEvent):void{
gotoAndPlay("anim1");
}
stop();
然后在页面动画1中我有:
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效果时间变成了一个小怪...你能说出来吗?我的代码有什么问题?
答案 0 :(得分: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();
}
一切都开始好起来了。