想用COCOS做个格斗游戏,刚开始用了addListener做了基本移动和攻击,但是发现要是继续用这个就会变得好复杂,比如 ↓ ← → A 放一个技能处理起来就会很困难,又由于是新手只能到处查找关于资料,最后找到了下面的一个参考资料,不过不是很懂如何双个单元读取键盘缓冲区,就自己另辟蹊径,不过原理差不多,目前我用的方法是将指令分级(基本动作指令如前后走动一个等级,技能指令一个等级),建立两个数组(之所以采用两个数组是因为如果只使用一个数组储存指令那对于需要长按的技能指令周期太短会录制不完全,相反,周期太长会影响基本操作出现无效指令情况),分别储存短周期指令和长周期指令,指令用一个开始点是按下键盘那一瞬间(防止一个指令横跨两个周期的情况出现)的短周期不断读取键盘按下键位并存入数组,长短指令唯一区别就是清空数组周期,当然还要防止不断按下一个键的情况,如按着 ← 不放那岂不是数组全是 ← ?所以还需要中间变量判断这个键是否弹起,没弹起则不录入,这样一个周期到就将录制的键和技能池做对比就能实现指令了。
因为是刚刚才开始接触这类东西的新手,不知道这种处理有没有问题,想问下大家还有其他方案处理这种键盘事件么?