我超级新鲜,正在遵循教程,但我不确定我哪里做错了,直到我添加了这个区域的代码,所有东西都正常工作。

#region sprites

图像速度 = 1;//100% 的动画速度

//如果移动,根据运动方向调整图像

if (hsp != 0) image_xscale = sign(hsp);

if (!_onground) { //如果在空中

sprite\_index = sPlayerAir;

image\_速度 = 0; //停止动画速度,显示静态图像

image\_index = (vsp > 0); //下落 = 1,其他所有情况 = 0

} else { //如果在地面上

if (hsp !=0) {//如果向左或向右移动

    sprite\_index = sPlayerRun;

} else { //站立不动

    sprite\_index = sPlayer;

}

}

#endregion

现在,我的玩家角色*在碰撞到墙壁时会被冻结,我也不太确定为什么会这样。

这是我的碰撞区域:

#region collisions

//水平碰撞

if (place_meeting(x+hsp,y,oBlock)) {

var \_x = round(x);

var \_pixel = sign(hsp);

while (!place\_meeting(\_x+\_pixel,y,oBlock)) \_x += \_pixel;

x = \_x;

hsp = 0;

}

//垂直碰撞

if (place_meeting(x,y+vsp,oBlock)) {

var \_y = round(y);

var \_pixel = sign(vsp);

while (!place\_meeting(x,\_y+\_pixel,oBlock)) \_y += \_pixel;

y = \_y;

vsp = 0;

}

//确认移动

x += hsp;

y += vsp;

#endregion

任何建议或见解都将非常感谢!!!