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

[AS3]as3的flash游戏处理键盘连招事件处理

时间:2013-09-02 16:329ria.com
[AS3]as3的flash游戏处理键盘连招事件处理

[AS3]as3的flash游戏处理键盘连招事件处理

参考了一个外国人的博客,和天地会一个兄弟的代码。http://rss.9ria.com/?p=2905

引用一下原文:

“大家应该玩过KOF(拳王),连招都是高手们的玩意。最近,我参考国外的代码,自己写了这个组合键类库。可以实现组合键的各种要求,例如连招、同时按下几 个键等等。我还添加了一个功能,就是:可以规定按键之间的时间间隔,当玩家连招时,两次按键之间超过了这个时间间隔,就判断该连招无效。”

而我这个方案,不但可以开出连招,还加入了“双击”功能,例如双击右键,角色就可以跑起来~~~

  1. package 
  2.     import flash.display.Sprite; 
  3.     import flash.events.Event; 
  4.     import flash.events.KeyboardEvent; 
  5.     import flash.text.TextField; 
  6.     import flash.ui.Keyboard; 
  7.      
  8.     import keyboard.KKeyAction; 
  9.     import keyboard.KSameTimeComboManager; 
  10.     import keyboard.KSequenceComboManager; 
  11.      
  12.     public class ComboKeyEvent extends Sprite 
  13.     { 
  14.         private var sequenceComboManager:KSequenceComboManager; 
  15.         private var sameTimeComboManager:KSameTimeComboManager; 
  16.         public function ComboKeyEvent() 
  17.         { 
  18.             sequenceComboManager = new KSequenceComboManager(this.stage, 
    400, KSequenceComboManager.KEY_UP_DOWN_MODE); 
  19.             sameTimeComboManager = new KSameTimeComboManager(this.stage, 200); 
  20.             var a:Vector.<KKeyAction> = new Vector.<KKeyAction>
  21.             a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_DOWN)); 
  22.             a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_UP)); 
  23.             a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_DOWN)); 
  24.             a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_UP)); 
  25.             sequenceComboManager.addSequenceCombo(a, run); 
  26.              
  27.             var b:Vector.<uint> = new Vector.<uint>
  28.             b.push(Keyboard.J); 
  29.             b.push(Keyboard.K); 
  30.             sameTimeComboManager.addSameTimeCombo(b, jump); 
  31.         } 
  32.         private function run():void 
  33.         { 
  34.             trace("run run run"); 
  35.         } 
  36.         private function jump():void 
  37.         { 
  38.             trace("jump jump jump jump "); 
  39.         } 
  40.     } 

热门文章推荐

请稍候...

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

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