本文和大家重点讨论一下Flex键盘事件注意事项,主要从两个方面来介绍,比如当判断keycode时,需要调用toString()方法,然后在跟键位的ASCII码进行比较。希望本文的介绍能让你有所收获。
Flex键盘事件注意事项
注意:
1.判断keycode时,需要调用toString()方法,然后在跟键位的ASCII码进行比较。
2.打开程序后,想直接按键盘程序就能响应,需要调用为stage添加方法,例如:this.stage.addEventListener(……);
事例代码:(已测试)
- <?xmlversionxmlversion="1.0"encoding="utf-8"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"
- applicationComplete="appInit()">
- <mx:Script>
- <![CDATA[
- importmx.effects.easing.*;
- privatefunctionappInit():void{
- this.stage.addEventListener(KeyboardEvent.KEY_UP,myKeyUp);
- this.stage.addEventListener(KeyboardEvent.KEY_DOWN,myKeyDown);
- }
- privatefunctionmyKeyUp(event:KeyboardEvent):void{
- //m1.end();
- //m1m1.xTo=m1.xFrom+10;
- //m1.play();
- //m1.xFrom=b1.x;
- }
//Flex键盘事件向上箭头事件处理
- privatefunctionmyKeyDown(event:KeyboardEvent):void{
- if(event.keyCode.toString()=="38"){
- m1.end();
- m1m1.yTo=m1.yFrom-10;
- m1.play();
- m1.yFrom=b1.y;
//Flex键盘事件向下箭头事件处理
- if(event.keyCode.toString()=="40"){
- m1.end();
- m1m1.yTo=m1.yFrom+10;
- m1.play();
- m1.yFrom=b1.y;
- }
//Flex键盘事件向左箭头事件处理
- if(event.keyCode.toString()=="37"){
- m1.end();
- m1m1.xTo=m1.xFrom-10;
- m1.play();
- m1.xFrom=b1.x;
- }
//Flex键盘事件向右箭头事件处理
- if(event.keyCode.toString()=="39"){
- m1.end();
- m1m1.xTo=m1.xFrom+10;
- m1.play();
- m1.xFrom=b1.x;
- }
- }
- ]]>
- </mx:Script>
- <mx:Movetargetmx:Movetarget="{b1}"xFrom="{b1.x}"yFrom="{b1.y}"easingFunction="{Bounce.easeOut}"duration="100"id="m1"/>
- <mx:Buttonxmx:Buttonx="132"y="99"label="Button"id="b1"/>
- <mx:TextInputxmx:TextInputx="132"y="226"/>
【编辑推荐】