1.15.监听键盘事件

1.15.1.问题
我想监听用户的按键,检测哪个键被按下并处理相应事件。
1.15.2.解决办法
为应用程序的stage或组件的keyDown事件添加监听器,读取KeyboardEvents的keyCode属性。
1.15.3.讨论
使用keyDown事件处理器监听KeyboardEvent,这些类都扩展自UIComponent。KeyboardEvent类定义了一个keyCode属性用于存储用户按下的键码,例如:
+展开
-XML
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxmlwidth="400height="300keyDown="keyHandler(event)backgroundColor="#0000ff">
<mx:Script>
<![CDATA[
import flash.events.KeyboardEvent;
private function keyHandler(event:KeyboardEvent):void {
switch (event.keyCode){
case 13:
trace("Enter pressed " ); break ;
case 32:
trace (" Space Bar pressed " ); break ;
case 16:
trace (" Shift Key pressed " ); break ;
case 112:
trace("F1 pressed");break;
case 8:
trace("Delete pressed");break;
}
}

]]>
</mx:Script>
<mx:Button label="One"/>
</mx:HBox>

请注意这个类,只有当button被激活时才会监听到它发出的事件。如果你删除了button,那么就没有东西可以激活了,keyHandler函数也永远不会被调用。要想在程序中捕获所有的KeyEvents事件而不管有没有组件被激活,请添加下面的句子:

+展开
-ActionScript
addedToStage="stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler)"

加支付宝好友偷能量挖...


评论(0)网络
阅读(108)喜欢(0)flash/flex/fcs/AIR