希望我只是被误导了

创建事件:

movedir = 0;
movespeed = 2;
xspd = 0;
yspd = 0;
grav = 0.275;
termvel = 4; //终止速度,限制落地速度
jspd = -3.15;  //跳跃速度

步骤事件:

// grav、termvel 和 jspd 变量还未使用,因为我甚至不知道如何让角色在 X 轴上行走

rightkey = keyboard_check(vk_right);
leftkey = keyboard_check(vk_left);
upkey = keyboard_check(vk_up);

movedir = rightkey - leftkey;

xspd = movedir * movespeed;

var _subpixel = 0.5 //我们可以接近多少像素才会碰撞?

if place_meeting(x + xspd, y, oCollision)
{
//靠近碰撞
var _pixelcheck = _subpixel * sign(xspd);
while !place_meeting(x+_pixelcheck,y,oCollision)
{ x += _pixelcheck;}

xspd = 0;
}

x += xspd;