0

所以,我在这个 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??**

}

}

我发誓我已经搜索了很多!讨厌打扰;)

4

1 回答 1

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; 
    }

}

一旦击球动作结束,您必须将其切换回“真”。

于 2013-05-14T15:26:17.373 回答