我在舞台上有一个组合框并且改变它的值我想只播放一定范围的帧:
stop();
combo01.addEventListener(Event.CHANGE, change);
function change(event:Event):void{
if (combo01.selectedItem.label == "BAL"){
gotoAndPlay(50);
if (currentFrame == 99) {stop();}
}
}
游戏未停止,但返回第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帧进行检查。