Flex Actionscript 3 flash游戏 键盘 连招 连按 combo 同时按 事件处理

参考了一个外国人的博客,和天地会一个兄弟的代码。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 ");
		}
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

PyQt5 GUI应用程序工具包入门(3)—信号槽

上一讲,我们编制了一个简单的登录对话框。而真正的登录对话框需要将输入的用户名和密码发送出去,进行处理。PyQt通过信号(signal)和槽(slot)机制实现对...

3305
来自专栏菩提树下的杨过

Silverlight的自定义tooltip提示工具条

这种应用场景其实很多,比如游戏中装备/魔法的选择菜单,这里借用了"深蓝色右手"的一张图  再比如聊天室中的文本颜色设置  ? 虽然sl的ToolTipServ...

2106
来自专栏数据的力量

制作精彩的傻瓜版Excel气泡图

2518
来自专栏游戏杂谈

TexturePacker压缩png的命令

压缩png效果最好的当然是TinyPNG这种神器了,不过一般情况下TexturePacker压缩出来的也基本上能达到效果。

672
来自专栏xx_Cc的学习总结专栏

六天完成一个简单iOS App - 第二天

2745
来自专栏生信技能树

rMATS这款差异可变剪切分析软件的使用体验

rMATS最近刚现在出了rMATS 4.0.1版,相比之间的rMATS 3.2.5版,其用C,Python,Cython重写了该软件,运算速度提升了100倍,并...

933
来自专栏小程序之家

如何使用小程序媒体组件

图片,视频,音乐是小程序使用中不可缺少的部分,这篇文章中,我们将介绍小程序媒体组件的使用。媒体组件分为audio音频组件,image图像组件,video视频组件...

1580
来自专栏MixLab科技+设计实验室

DIY一个Sketch插件,生成猫猫狗狗的全家福

最近朋友圈都在玩的全家福: ? 看了下是使用 cocos2D 引擎制作的, http://www.cocos.com/creator 主要是图片合成,利用前端...

2807
来自专栏拂晓风起

Flex透明窗体做法 spark的Window加Skin

1062
来自专栏数据小魔方

sparklines迷你图系列3……Evolution(Line)

该类型图表既然被划分到Evolution类型,想必大家也能大概猜出其用途,就是用于评估指标走势的优劣、好坏与波动区间范围。 这样形式可以更好的呈现一类指标一段时...

31710

扫码关注云+社区