首页 > 网站 > WEB开发 > 正文

1.15.键盘事件

2024-04-27 13:51:43
字体:
来源:转载
供稿:网友
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/mxml" width="400" height="300" keyDown="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)"
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表