level 2
像街霸里升龙拳的输入指令的正确写法是怎么写的?我是用keyboard_string写的,不知道还有什么更好的方法吗?
2024年12月31日 13点12分
1
level 5
keyboard_string不推荐处理这个,问题在于
1.keyboard_string会受backspace影响
2.keyboard_string好像不能处理例如 f1 , 左方向键 之类的按键
推荐主动用数据结构或数组来记录按键,具体自己写
2025年01月01日 01点01分
3
是的,我也觉得不太妥当,所以才来请教的
2025年01月01日 05点01分
@ztt3000 所以自己记录按键就好了啊,把所有可能的按键的状态判断一遍存入一个数据结构或数组,有对应的招式序列就放招并清空序列,超时和别的什么时候清空就好了
2025年01月01日 05点01分
吧务
level 13
之前好像有人讨论过这个问题,忘了是贴吧还是群。当时确定的相对理想(但仍然需要处理很多事)的方案是这样:
1、使用数组或者什么结构,记录一段时间内的按键操作;//比如最后100帧,记录的数据可以是一个0-255的整数来表示8个按键(4方向+4按钮)的按键状态
2、这个数组不能完全清空,只能按时间进行顶替;
3、判定指令成功的条件是,在一定时间内的操作符合出招设置;//比如↓↘→A需要在10帧内完成,而蓄←·→A要判定40帧且←要持续25帧以上
4、同时满足两个招式的条件时,要有优先级之类的设定;//比如↓↘→↓↘→A成功判定的话,要先考虑是否满足高级技能的发动条件(不同游戏会有血量、能量、能量豆、愤怒之类的资源),当条件不满足的时候发动↓↘→A的判定(或者不判定,看你的设置)
==============
当时的讨论没能解决的情况是,按帧记录的数据,并不是理想的↓↘→A这样的4帧,而是可能↓↓↓↓↓↘↘→→→→→A,或者↓→A。根据这种记录方式判定会比较复杂。是不是改为记录(或者从这个数据里提取)是否发生了某个键的按下/抬起动作来作为判定条件更合理。
2025年01月02日 02点01分
4