Actionscript 3 AS3:按键单击塔

Actionscript 3 AS3:按键单击塔,actionscript-3,Actionscript 3,我几乎完成了一个工程实习,我和一个小组被分配了一个涉及硬件和编程的项目。我们的项目是一个老式的拱廊框塔防御游戏,主题是阻止全球变暖 在完成了一个制作精良的教程之后,我们完成了游戏,除了一件事:在教程的游戏中,你可以用鼠标点击一个按钮来选择一座塔,但是出于我们的目的,我们需要它,所以用户按下键盘按钮来选择塔(当你按下拱廊框上的一个按钮并按下一个键时,我们已经得到了它). 下面是我认为包含需要更改的代码的代码部分。我试过摆弄KeyboardEvent.KEY_DOWN,但是没有用 如果上面的一切都

我几乎完成了一个工程实习,我和一个小组被分配了一个涉及硬件和编程的项目。我们的项目是一个老式的拱廊框塔防御游戏,主题是阻止全球变暖

在完成了一个制作精良的教程之后,我们完成了游戏,除了一件事:在教程的游戏中,你可以用鼠标点击一个按钮来选择一座塔,但是出于我们的目的,我们需要它,所以用户按下键盘按钮来选择塔(当你按下拱廊框上的一个按钮并按下一个键时,我们已经得到了它).

下面是我认为包含需要更改的代码的代码部分。我试过摆弄KeyboardEvent.KEY_DOWN,但是没有用

如果上面的一切都没有意义,我需要让事件侦听器监听要按下的“w”键,然后选择消防塔

setupGame();

// Initialise the UI event listeners.
mcGameUI.btnBuildFireTower.addEventListener(KeyboardEvent.KEY_DOWN, clickTowerFire);
mcGameUI.btnBuildFireTower.addEventListener(MouseEvent.ROLL_OVER, showTowerFireHelp);
mcGameUI.btnBuildFireTower.addEventListener(MouseEvent.ROLL_OUT, clearHelp);

谢谢

需要在有焦点的对象上监听键盘事件。幸运的是,
stage
始终具有焦点,因此最好将键盘事件侦听器连接到那里,例如

stage.addEventListener(KeyboardEvent.KEY_DOWN, clickTowerFire);
如果要添加基于特定按键的操作,可以使用附加到
KeyboardEvent
keyCode
属性:

function clickTowerFire(event:KeyboardEvent):void
{
    if(event.keyCode === 87) // W
    {
        // Your existing code here.
    }
}

谢谢,但我如何使其在按下“w”键时选择?@user3427093您需要将其添加到
clickTowerFire
功能中。我将用一个例子更新我的答案。