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

引用一下原文:

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

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

下载代码:连招处理.rar

Demo:

package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.text.TextField;
	import flash.ui.Keyboard;
	
	import keyboard.KKeyAction;
	import keyboard.KSameTimeComboManager;
	import keyboard.KSequenceComboManager;
	
	public class ComboKeyEvent extends Sprite
	{
		private var sequenceComboManager:KSequenceComboManager;
		private var sameTimeComboManager:KSameTimeComboManager;
		public function ComboKeyEvent()
		{
			sequenceComboManager = new KSequenceComboManager(this.stage, 400, KSequenceComboManager.KEY_UP_DOWN_MODE);
			sameTimeComboManager = new KSameTimeComboManager(this.stage, 200);
			var a:Vector.<KKeyAction> = new Vector.<KKeyAction>;
			a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_DOWN));
			a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_UP));
			a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_DOWN));
			a.push(new KKeyAction(Keyboard.D, KeyboardEvent.KEY_UP));
			sequenceComboManager.addSequenceCombo(a, run);
			
			var b:Vector.<uint> = new Vector.<uint>;
			b.push(Keyboard.J);
			b.push(Keyboard.K);
			sameTimeComboManager.addSameTimeCombo(b, jump);
		}
		private function run():void
		{
			trace("run run run");
		}
		private function jump():void
		{
			trace("jump jump jump jump ");
		}
	}
}

相关文章:

  • 2021-11-27
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2021-05-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-09
  • 2021-11-27
  • 2021-08-08
  • 2022-12-23
  • 2021-09-20
  • 2021-07-05
相关资源
相似解决方案