你好!我在工作一个横屏2维平台游戏,并想要使用全局乘数来使所有图片速度和游戏中的运动加速或减慢,但是当我尝试实现这个功能时,我发现跳跃高度增加了几像素,当我进入“慢动作”的时候,跳跃高度变成了从正常值(96像素)升高到98.50个像素(使用 “for”语句进行测量)。

代码片段:

如果键盘(vk_space)按下
并且(x,y+1)处于 obj_ground 整个
vspd>=0
vspd=-10

if vspd< terminal_velocity
vspd+= grav* global.timescale

y+=vspd*global.timescale

这个情况下发生的原因是?

(Note:为了增加可读性,我将代码进行了格式化)

// 检测空格键按下
if keyboard_check_pressed (vk_space) {
   // 检测是否触地
   if place_meeting(x,y+1,obj_ground) {
      // 检测是向下运动(vspd>0)
      if vspd>=0 {
         // 初始化 vertical speed 为 -10
         vspd = -10;
      }
   }
   // 计算垂直速度(vspd < 终止速度)
   if (vspd < terminal_velocity) {
       vspd += grav *global.timescale;
   }
   // 让物体位置向下移动
   y += vspd * global.timescale;
}