所以,我在这个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??**
}
}
我发誓我已经搜索了很多!讨厌的事情;)
答案 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'。