如何通过AS3中的另一个停止功能?

时间:2013-05-14 15:18:57

标签: flash function actionscript

所以,我在这个Flash CS5文件中,我想在另一个正在运行时禁用一个函数。更确切地说:我正在做一个让我通过键盘控制游戏角色的功能。当这个角色击中另一个角色时,我希望它停止移动,即使我尝试再次按下按键。这是我的代码:

stage.addEventListener(KeyboardEvent.KEY_DOWN, move)
stage.addEventListener(Event.ENTER_FRAME, game)

function game(e:KeyboardEvent) : void {

if (e.keyCode == 39){
character.x += 15;
}

if (e.keyCode == 37){
character.x -= 15;
}

}

function game(e:Event): void {

if(character.hitTestObject(wall)) {

**how do i disable that move event here??**

}

}

我发誓我已经搜索了很多!讨厌的事情;)

1 个答案:

答案 0 :(得分:3)

var canWalk:Boolean = true;

function game(e:KeyboardEvent) : void {

    if (e.keyCode == 39 && canWalk){
        character.x += 15;
    }

    if (e.keyCode == 37 && canWalk){
        character.x -= 15;
    }

}

function game(e:Event): void {

    if(character.hitTestObject(wall)) {
        canWalk = false; 
    }

}

一旦命中结束,你必须将它切换回'true'。