我有一个简单的按钮,我想做一些过渡。
如果当前帧为1,我想播放帧2.
如果当前帧是2,我想播放第3帧
如果当前帧为3,我想播放第1帧。
为什么我的脚本在ActionScript 3.0中不起作用?感谢。
buton1.addEventListener(MouseEvent.CLICK, buton1Click);
function buton1Click(event:MouseEvent):void{
if(currentFrame == 1){
gotoAndStop(2);
}
if(currentFrame == 2){
gotoAndStop(3);
}
if(currentFrame == 3){
gotoAndStop(1);
}
}
答案 0 :(得分:2)
您的if
块始终为真 - 您移动到下一帧而不是测试您是否在该帧上。
鉴于您的按钮跨越时间轴,如下所示:
您的代码将是:
stop();
button1.addEventListener(MouseEvent.CLICK, button1Click);
function button1Click(event:MouseEvent):void
{
switch (currentFrame)
{
case 1:
gotoAndStop(2);
break;
case 2:
gotoAndStop(3);
break;
case 3:
gotoAndStop(1);
break;
}
}
答案 1 :(得分:1)
stop();
stage.addEventListener(MouseEvent.CLICK, button1Click);
function button1Click(event:MouseEvent):void {
this.gotoAndStop((this.currentFrame % this.totalFrames) + 1);
}
//this way you can change the timeline without changing code