当前位置: 首页 > news >正文

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 ");
		}
	}
}

相关文章:

  • CAS实现SSO单点登录原理
  • windows 2008 r2 ad 优化
  • 为产品或者商品随机生成6位数的数字编码方案
  • Iphone之NSBundle
  • iPhone中调用WCF服务
  • Netbeans配置Xdebug
  • [转载] 杜拉拉升职记——07 管理者关心细节吗?
  • UNIX网络编程 卷2 源代码使用
  • 使用getmac命令获取网卡对应的GUID
  • Skype for Business Server 2015-04-前端服务器-1-安装-先决条件
  • 近百本精品图书全部免费赠送——仅面向学生
  • SQL GROUP BY 语句
  • tomcat内存设置
  • Web系统页面打印技术实现与分析
  • Postfix maillog邮件发送各阶段延时的日志记录
  • Codepen 每日精选(2018-3-25)
  • Cumulo 的 ClojureScript 模块已经成型
  • ES2017异步函数现已正式可用
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java中具有继承关系的类及其对象初始化顺序
  • Kibana配置logstash,报表一体化
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • tensorflow学习笔记3——MNIST应用篇
  • vue-router 实现分析
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 测试开发系类之接口自动化测试
  • 动态魔术使用DBMS_SQL
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 我这样减少了26.5M Java内存!
  • Python 之网络式编程
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​flutter 代码混淆
  • ​io --- 处理流的核心工具​
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​业务双活的数据切换思路设计(下)
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #《AI中文版》V3 第 1 章 概述
  • #etcd#安装时出错
  • #vue3 实现前端下载excel文件模板功能
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4)logging(日志模块)
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm高校实验室 毕业设计 800008
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (循环依赖问题)学习spring的第九天
  • .bat批处理(一):@echo off
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net framework4与其client profile版本的区别