求解一个加速移动的状态机思路 未解决
chachako 发表于 2020-06-24 04:40:41 216

运用在八方向rpg,例子如RPGmaker里按某键加速的效果,个人尝试写了发现触发按键以后人物就无法控制和停下来了

最新回复 (2)
  • luojideyou 发表于 2020-06-26 10:16:37
    0 2
    在对象里面创建变量a(相当于加速的能量)
    然后在ste里面编辑条件语句 
    如果按下方向键() 再按下(加速键)  &&  a(a的值如何如何)
    就触发加速
    然后减去a的多少值
    并且设置每帧(step)a会回复多少值(或者你游戏达到啥条件回复多少加速能量)

    下面是我试验的 ,试验了下 可以实现

    a的初始值为500 (a = 500),方向A和D控制左右,其他方向键可以保持不变,按下空格键就加速,a的值每帧回复2点。

    if (keyboard_check(ord("D")))   &&  keyboard_check(vk_space)  &&  a>=50
    {
           x = x+16;
           a=a-50;
    }

    if (keyboard_check(ord("A")))   &&  keyboard_check(vk_space)  &&  a>=50
    {
           x = x-16;
           a=a-50;
    }

    a=a+2;

  • phoenixree 发表于 2020-07-31 07:00:56
    0 3
    把加速的判断套在移动里面
    if(按下方向键){
        speed = 1;
        if(按下加速键){
            speed = 2;
        }
        以speed移动;
    }