我超级新鲜,正在遵循教程,但我不确定我哪里做错了,直到我添加了这个区域的代码,所有东西都正常工作。
#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
任何建议或见解都将非常感谢!!!
评论 (0)