是否可以通过ActionScript 3的选项菜单更改键绑定?

时间:2014-03-08 00:16:31

标签: actionscript-3 flash actionscript menu

我对actionscript和flash相当新,所以我对代码的某些功能有疑问。是否可以通过一个按钮更改键绑定,该按钮将显示当前用于移动对象的键?

我问这个的主要原因是因为我正在制作平台游戏,我想提供改变当​​前键盘输入用于移动角色的能力。与其他游戏类似,可以将玩家控件编辑为更舒适的布局。我还想提供一个默认的键盘布局,并在选项菜单中进行设置,以显示当前键用于特定操作。

例如,键盘左侧默认为向左移动,但我想说我想将其更改为A.我希望能够将其更改为或提供这种功能。

我不知道从哪里开始,或者甚至可能。提前谢谢。

编辑:

我还希望保留这些选项,只要游戏是开放的,或者甚至可以将它们存储到文件中。

1 个答案:

答案 0 :(得分:1)

这是您自己编程的功能。听取用户按键是非常简单的,并将他们按下的键的唯一keyCode保存到变量中。然后,当按下某个键时,您可以根据保存的键代码进行检查。至于保存这些设置,您可以使用Local Shared Object

这是一个基本概述。假设您有以下对象。

var keys:Object = {
    left: Keyboard.LEFT,
    right: Keyboard.RIGHT,
    up: Keyboard.UP,
    down: Keyboard.DOWN
};

如果您想自定义向上箭头,可以在用户输入一些内容后添加以下代码(例如点击按钮)。

addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
function keyDown(e:KeyboardEvent):void
{
    keys.up = e.keyCode;
}

然后,如果您想要测试是否按下了up keyCode,您可以执行以下操作。

if(keys.up == e.keyCode)
{
    //Customized up key pressed.
}