本文和大家重点讨论一下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;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
//Flex键盘事件向上箭头事件处理
privatefunctionmyKeyDown(event:KeyboardEvent):void{
if(event.keyCode.toString()=="38"){
m1.end();
m1m1.yTo=m1.yFrom-10;
m1.play();
m1.yFrom=b1.y;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
//Flex键盘事件向下箭头事件处理
if(event.keyCode.toString()=="40"){
m1.end();
m1m1.yTo=m1.yFrom+10;
m1.play();
m1.yFrom=b1.y;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
//Flex键盘事件向左箭头事件处理
if(event.keyCode.toString()=="37"){
m1.end();
m1m1.xTo=m1.xFrom-10;
m1.play();
m1.xFrom=b1.x;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
//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"/>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
【编辑推荐】