操作脚本3.如何禁用所有键盘键

时间:2013-05-12 14:04:10

标签: actionscript-3 flash actionscript keyboard key

我正在创建Flash游戏,只需要鼠标即可玩。我需要禁用所有键盘键,但我不能成功。

我真的不明白如何制作它,我需要从所有对象或按钮中删除EventListeners?也许这里是禁用所有键的方法?例如,我试过这个,但没有工作:

myButton1.removeEventListener(KeyboardEvent.KEY_UP, blindKeyboard);
myButton1.removeEventListener(KeyboardEvent.KEY_DOWN, blindKeyboard);
myButton2.removeEventListener(KeyboardEvent.KEY_UP, blindKeyboard);
myButton2.removeEventListener(KeyboardEvent.KEY_DOWN, blindKeyboard);

function blindKeyboard(e:KeyboardEvent):void{
    e.preventDefault();
    e.stopPropagation();
}
你可以帮帮我吗?感谢。

2 个答案:

答案 0 :(得分:3)

首先,在ActionScript 3中,您不会将键盘事件侦听器放在对象上,而是放在舞台上。

stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPressedDown);

其次,您是否为键盘设置了事件监听器?因为除非你有,否则游戏不应该采取任何键盘命令。您需要向其添加一个事件监听器。

或者你的意思是玩家不能在输入文本字段中输入任何内容?那怎么用呢?

inputField.maxChars=0;

设置为零的最大字符数,表示无法输入任何内容。

答案 1 :(得分:1)

stage.addEventListener(KeyboardEvent.KEY_UP, blindKeyboard);
stage.addEventListener(KeyboardEvent.KEY_DOWN, blindKeyboard);

function blindKeyboard(e:KeyboardEvent):void{
    e.preventDefault();
    e.stopPropagation();
}

这应该工作。但请记住,某些键无法关闭并保持默认行为(例如,如果您在浏览器页面中发布游戏,则无法阻止转义键退出全屏模式)。 如果您需要更多帮助,则需要更多信息...如果您仍需要帮助,请随时回答我并为您的问题添加更多详细信息。