As3中的键盘事件

时间:2013-02-17 05:22:27

标签: actionscript-3 keyboard

好的,所以我是一个总菜鸟。我想用任何键盘按钮在as3中前进一个场景。这是我的代码,你能帮帮我吗?

import flash.events.Event;
stage.addEventListener(MouseEvent.CLICK, startGame);
addEventListener(Event.ENTER_FRAME, asteroidMovement);
stage.addEventListener(KeyboardEvent.KEY_DOWN, startGameWithKeys);

stop();


function startGameWithKeys(e:KeyboardEvent){
    removeEventListener(Event.ENTER_FRAME, asteroidMovement);
    stage.removeEventListener(MouseEvent.CLICK, startGame);
    gotoAndStop(1, "Scene 2");
}

function startGame(e:MouseEvent)
{
    removeEventListener(Event.ENTER_FRAME, asteroidMovement);
    stage.removeEventListener(MouseEvent.CLICK, startGame);
    gotoAndStop(1, "Scene 2");
}

2 个答案:

答案 0 :(得分:0)

你的听众代码没问题,只要按任意键就应该调度。您的场景可能名称不正确。

无论如何,总是试着避免在flash中使用场景。如果它让您在Flash IDE中工作感觉更舒服,请使用框架,但始终避免场景。下一步应该使用像FlashBuilder这样的开发IDE并避免使用时间轴代码:)

答案 1 :(得分:0)

无需为类似操作创建两个函数,请使用以下代码

同样跳到场景声明是完美的。

 function startGame(e:Event):void
 {
     //Put your code here
     trace(e.type);

     gotoAndStop(1, "Scene 2");
 }

 stage.addEventListener(MouseEvent.CLICK, startGame, false, 0, true);
 stage.addEventListener(KeyboardEvent.KEY_DOWN, startGame, false, 0, true);