专栏首页拂晓风起Flex Actionscript 3 flash游戏 键盘 连招 连按 combo 同时按 事件处理

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 条评论
登录 后参与评论

相关文章

  • Firefox显示中文字太小的问题 (改变Firefox最小字体)

    用户1258909
  • xp 真正解决PowerPoint 2007 无法输入中文问题(如果启动“高级文字服务”也无效,修改注册表)

    用户1258909
  • Flash:TextField字体不显示/文字不显示/文字丢失

    1、是否文字中包含了\r\n等字符,flash中,\r和\n都会换行。需要过滤掉其中1个

    用户1258909
  • Spring Boot 如何整合多个数据源?

    SpringBoot现在是很多很多公司应用的后端框架,因为它搭建快,能更好、更快速的整合其他第三方。那么随着业务的不断扩展,业务量的增加,这时候就会牵扯到分库分...

    Java_老男孩
  • DW、OLAP、DM、DSS 的关系

    DW:    Data Warehouse                     数据仓库     OLAP:  On-Line Analytical Pro...

    用户1148526
  • 李世石再次败给AlphaGo,人工智能真的超越了人类?

    谁都没有想到,声称要以5:0击败电脑的韩国围棋天王李世石,会在“人机大战”连续两场比赛败给Alpha Go,尽管失利的主要原因是李世石自身的失误造成的,但不可...

    华章科技
  • Java的类加载器种类(双亲委派)

    1.启动类加载器:这个类加载器负责放在<JAVA_HOME>\lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别的类库。...

    爱撸猫的杰
  • 人工智能在空调焊接产线中的应用

    曾在 52CV 发表 “最新图文识别技术综述”,研究领域涉及图像、语音、文本信号处理和机器人等,身处传统产业领域,致力于AI技术在工业生产中的落地开花。

    CV君
  • 同样的sql执行结果不同的原因分析 (r4笔记第27天)

    今天开发的同事问我一个问题,说有一个sql语句,在weblogic的日志中执行没有结果,但是手动拷贝数据到客户端执行,却能够查到。这种奇怪的问题一下子就能引起我...

    jeanron100
  • 愿未来没有 Webpack

    现在是 1941 年。你的名字是 Richard Hubbell。你在 CBS 旗下的一个试验性的纽约电视演播室工作。你将要主持一场重大电视新闻广播,这是世界上...

    ConardLi

扫码关注云+社区

领取腾讯云代金券