我正在开发一款基本的Flash格斗游戏。我不是开发人员所以我是动作脚本的新手,除了我对我的课程编码有一些背景知识。 问题是- 大约有6个战斗动作,我想禁用所有6个key_down事件,直到动画完成。并且所有6个动画都有不同的时间帧。 some1可以帮我解决这个问题吗?
stage.addEventListener(KeyboardEvent.KEY_DOWN, enterKeyHandler);
function enterKeyHandler(event:KeyboardEvent):void {
if (event.keyCode == Keyboard.B) {
gotoAndPlay(252);}
if (event.keyCode == Keyboard.V) {
gotoAndPlay(259);}
我只放下了其中的2个,但总共有6个。
答案 0 :(得分:0)
我会使用公共静态标志,例如: keyboardDisabled:Boolean = false;
当您播放动画时,可以将其设置为true,并在侦听键盘事件的函数内部检查键盘是否已禁用并立即返回。
有些代码看起来像
public static var keyboardDisabled:Boolean = false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, enterKeyHandler);
function enterKeyHandler(event:KeyboardEvent):void {
if ( keyboardDisabled )
return;
if (event.keyCode == Keyboard.B) {
gotoAndPlay(252);}
if (event.keyCode == Keyboard.V) {
gotoAndPlay(259);
}
然后在动画开始的框架中
keyboardDisabled = true;
动画结束
keyboardDisabled = false;