仅播放特定范围的帧

时间:2015-09-26 18:42:46

标签: actionscript-3

我在舞台上有一个组合框并且改变它的值我想只播放一定范围的帧:

stop();

combo01.addEventListener(Event.CHANGE, change);

function change(event:Event):void{
    if (combo01.selectedItem.label == "BAL"){
        gotoAndPlay(50);
        if (currentFrame == 99) {stop();}

    }
}

游戏未停止,但返回第1帧。

1 个答案:

答案 0 :(得分:0)

您希望在到达第99帧时进行当前帧检查,而不是在调用change()时。一种方法是添加一个监听器来检查时间轴输入的每个帧,直到它到达你想要的帧:

addEventListener(Event.ENTER_FRAME, checkFrame);
function checkFrame(e:Event):void {
    if(currentFrame == 99){
        stop();
        removeEventListener(Event.ENTER_FRAME, checkFrame);
    }
}

另一种方法是使用未记录的(但长期支持的)addFrameScript():actionscript3 whats the point of addFrameScript

您也可以在第99帧上添加条件stop(),例如if (stopFrame == 99) stop(),然后在更改处理程序中设置stopFrame

你明白了。您需要在第99帧进行检查。