gamemaker吧 关注:13,627贴子:95,038
  • 5回复贴,共1

请教一下关于格斗游戏的招式输入指令的写法

只看楼主收藏回复

像街霸里升龙拳的输入指令的正确写法是怎么写的?我是用keyboard_string写的,不知道还有什么更好的方法吗?


IP属地:江苏1楼2024-12-31 21:58回复
    我用的是GM8


    IP属地:江苏2楼2024-12-31 22:18
    回复
      keyboard_string不推荐处理这个,问题在于
      1.keyboard_string会受backspace影响
      2.keyboard_string好像不能处理例如 f1 , 左方向键 之类的按键
      推荐主动用数据结构或数组来记录按键,具体自己写


      IP属地:山东3楼2025-01-01 09:40
      收起回复
        之前好像有人讨论过这个问题,忘了是贴吧还是群。当时确定的相对理想(但仍然需要处理很多事)的方案是这样:
        1、使用数组或者什么结构,记录一段时间内的按键操作;//比如最后100帧,记录的数据可以是一个0-255的整数来表示8个按键(4方向+4按钮)的按键状态
        2、这个数组不能完全清空,只能按时间进行顶替;
        3、判定指令成功的条件是,在一定时间内的操作符合出招设置;//比如↓↘→A需要在10帧内完成,而蓄←·→A要判定40帧且←要持续25帧以上
        4、同时满足两个招式的条件时,要有优先级之类的设定;//比如↓↘→↓↘→A成功判定的话,要先考虑是否满足高级技能的发动条件(不同游戏会有血量、能量、能量豆、愤怒之类的资源),当条件不满足的时候发动↓↘→A的判定(或者不判定,看你的设置)
        ==============
        当时的讨论没能解决的情况是,按帧记录的数据,并不是理想的↓↘→A这样的4帧,而是可能↓↓↓↓↓↘↘→→→→→A,或者↓→A。根据这种记录方式判定会比较复杂。是不是改为记录(或者从这个数据里提取)是否发生了某个键的按下/抬起动作来作为判定条件更合理。


        IP属地:北京4楼2025-01-02 10:06
        回复