我正在flash中开发一个应用程序。我需要捕获CONTROL_KEY事件。 我在Windows上的大多数浏览器中都能正常工作,但在使用MacOS时,CONTROL_KEY事件会被MAC上的COMMAND键替换。
如何让我的应用程序仅捕获两个平台上的控制键?这是我为捕获keydown和keyup事件而编写的代码。
public function classConstructor()
{
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyboardKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP,keyboardKeyUp);
}
private function keyboardKeyDown(e:KeyboardEvent):void{
switch(e.keyCode)
{
case 17:
if(isCtrlKeyDown==false){
isCtrlKeyDown=true;
isBombActive=true;
trace("Ctrl and Mouse Clicked Together");
}
break;
}
}
private function keyboardKeyUp(e:KeyboardEvent):void{
switch(e.keyCode)
{
case 17:
if(isCtrlKeyDown){
isCtrlKeyDown=false;
isBombActive=false;
trace("Ctrl Released Together");
}
break;
}
}
答案 0 :(得分:0)
在KeyboardEvent上使用commandKey propriety。见这里:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/KeyboardEvent.html