gotoAnPlay() returns 用相同的数字调用两次后到第一帧
gotoAnPlay() returns to first frame after being called twice with same number
我的场景中有两个 keyframes
。在第一个中,我有以下代码:
import flash.events.KeyboardEvent;
stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, foo);
function foo(event:KeyboardEvent):void {
gotoAndPlay(2);
}
在第二个中,我有以下代码:
stop();
在我第一次按下某个键时,场景按预期进入第 2 帧。但是第二次,它转到第 1 帧。
此外,如果我使用 gotoAndStop
而不是 gotoAndPlay
,场景总是转到第 2 帧。
有人知道这种行为背后的原因吗?
根据 Adobe 的定义,gotoAndPlay()
Starts playing the SWF file at the specified frame ...
因此,如果您处于场景的第二帧,当您执行 gotoAndPlay(2)
时,它与简单的 play()
具有相同的动作,这就是您将回到第一帧的原因。当它在第二帧执行时,它与 gotoAndStop(2)
的行为相同,它等于一个简单的 stop()
.
结论:
gotoAndPlay()
当它从一个帧调用并去播放同一帧时,它等于一个简单的 play()
.
gotoAndStop()
当它从一个帧调用并停止同一帧时,它等于一个简单的 stop()
.
希望能帮到你。
我的场景中有两个 keyframes
。在第一个中,我有以下代码:
import flash.events.KeyboardEvent;
stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, foo);
function foo(event:KeyboardEvent):void {
gotoAndPlay(2);
}
在第二个中,我有以下代码:
stop();
在我第一次按下某个键时,场景按预期进入第 2 帧。但是第二次,它转到第 1 帧。
此外,如果我使用 gotoAndStop
而不是 gotoAndPlay
,场景总是转到第 2 帧。
有人知道这种行为背后的原因吗?
根据 Adobe 的定义,gotoAndPlay()
Starts playing the SWF file at the specified frame ...
因此,如果您处于场景的第二帧,当您执行 gotoAndPlay(2)
时,它与简单的 play()
具有相同的动作,这就是您将回到第一帧的原因。当它在第二帧执行时,它与 gotoAndStop(2)
的行为相同,它等于一个简单的 stop()
.
结论:
gotoAndPlay()
当它从一个帧调用并去播放同一帧时,它等于一个简单的play()
.gotoAndStop()
当它从一个帧调用并停止同一帧时,它等于一个简单的stop()
.
希望能帮到你。