如何同时捕获键盘和鼠标事件AS3

时间:2015-11-05 07:39:00

标签: actionscript-3 flash mouseevent keyboard-events

当我观看关于椋鸟的视频时,我看到了一个触发事件。该事件捕获键盘和触摸事件。

我想知道有没有办法同时捕捉鼠标和键盘事件?

您可以查看此视频以获取示例: https://vimeo.com/109564325

2 个答案:

答案 0 :(得分:1)

根据我的经验,通常可以通过实现一些常用的InputManager来完成,它可以保存有关按下的键/鼠标按钮的信息,其他类可以通过方法获取此信息,如:

checkIfKeyPressed(keyCode:int):boolean
{
}

另外,如果你只需要了解一些特定的键(例如alt,ctrl,cmd,shift等),MouseEvent对象中有一些公共属性可以帮助你(例如altKey,ctrlKey,shiftKey)等)。请参阅:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html

答案 1 :(得分:1)

你不能为键盘和鼠标事件添加监听器,并从那里调用共享的“处理程序”吗?

...

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(MouseEvent.CLICK, clickHandler);

private function clickHandler(e:MouseEvent):void {
   inputHandler(e, 'mouse');
}

private function keyDownHandler(e:KeyboardEvent):void {
   inputHandler(e, 'keyboard');
}

private function inputHandler(e:Event, type:String):void {
   // Do logic here
}