·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0处理按键事件,多个按键按下时的响应事件,按键盘的事件

时间:2013-10-30 17:02cuplayer.com
[AS3]as3.0处理按键事件,多个按键按下时的响应事件,按键盘的事件写法 package { importcom.KeyPoll; importflash.display.Sprite; importflash.events.Event; importflash.ui.Keyboard; importflash.text.TextField; importflash.text.TextFormat; [SWF( wid

[AS3]as3.0处理按键事件,多个按键按下时的响应事件,按键盘的事件写法

  1. package  
  2. { 
  3.     import com.KeyPoll; 
  4.     import flash.display.Sprite; 
  5.     import flash.events.Event; 
  6.     import flash.ui.Keyboard; 
  7.     import flash.text.TextField; 
  8.     import flash.text.TextFormat; 
  9.  
  10.     [SWF(width = "720",height = "450",frameRate = "12",backgroundColor = "0x3366ee")] 
  11.      
  12.     /** 
  13.     *@ web: http://blog.vini123.com www.cuplayer.com 
  14.     *@ explanation 文章来自网上,整理vini。 这个对于键盘控制人物角色八个方向的行走还是比较方便的。 
  15.     */ 
  16.     public class Main extends Sprite 
  17.     { 
  18.         private var key:KeyPoll; 
  19.         private var curPosition:int; 
  20.         private var txt:TextField; 
  21.  
  22.         public function Main():void 
  23.         { 
  24.             addEventListener(Event.ADDED_TO_STAGE,addtoStageHandler); 
  25.         } 
  26.         private function addtoStageHandler(e:Event) 
  27.         { 
  28.             removeEventListener(Event.ADDED_TO_STAGE,addtoStageHandler); 
  29.  
  30.             var txtFormat:TextFormat=new TextFormat(); 
  31.             txtFormat.size = 14; 
  32.             txt=new TextField(); 
  33.             txt.width=stage.stageWidth-20; 
  34.             txt.multiline=true; 
  35.             txt.setTextFormat(txtFormat); 
  36.             txt.textColor=0xff0000; 
  37.             txt.selectable = false; 
  38.             txt.mouseEnabled = false; 
  39.             txt.x = 10; 
  40.             txt.y = 20; 
  41.             addChild(txt); 
  42.             key = new KeyPoll(stage); 
  43.             addEventListener(Event.ENTER_FRAME,enterFrameHandler); 
  44.         } 
  45.         private function enterFrameHandler(e:Event) 
  46.         { 
  47.             controlKey(); 
  48.         } 
  49.  
  50.         private function controlKey():void 
  51.         { 
  52.             if (key.isDown(Keyboard.UP)) 
  53.             { 
  54.  
  55.                 if (key.isDown(Keyboard.LEFT)) 
  56.                 { 
  57.                     curPosition = 7; 
  58.                 } 
  59.                 else if (key.isDown(Keyboard.RIGHT)) 
  60.                 { 
  61.                     curPosition = 8; 
  62.                 } 
  63.                 else 
  64.                 { 
  65.                     curPosition = 3; 
  66.                 } 
  67.             } 
  68.             else if (key.isDown(Keyboard.DOWN)) 
  69.             { 
  70.                 if (key.isDown(Keyboard.LEFT)) 
  71.                 { 
  72.                     curPosition = 5; 
  73.  
  74.                 } 
  75.                 else if (key.isDown(Keyboard.RIGHT)) 
  76.                 { 
  77.                     curPosition = 6; 
  78.                 } 
  79.                 else 
  80.                 { 
  81.                     curPosition = 1; 
  82.                 } 
  83.             } 
  84.             else if (key.isDown(Keyboard.LEFT)) 
  85.             { 
  86.                 curPosition = 2; 
  87.  
  88.             } 
  89.             else if (key.isDown(Keyboard.RIGHT)) 
  90.             { 
  91.                 curPosition = 4; 
  92.             } 
  93.             txt.text = "cuplayer.com提示请按小键盘的上下左右或两个同时一起按,注意看着:" + String(curPosition); 
  94.         } 
  95.     } 
  96. } 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器