【发布时间】:2020-03-20 04:17:37
【问题描述】:
我正在尝试在 GameMaker Studio 2 中实现在斜坡上移动。 它大部分时间都在工作,但有时我在尝试向上移动时会卡在斜坡和地面之间。
代码是:
// Stop gravity on slopes
// When changing this to vsp = -1 I'm not getting stuck but the player is
// currently jumping from 1 to 0 pixels...
if(place_meeting(x, y + vsp, slopes) && y > 0) vsp = 0;
在我的移动脚本中:
repeat(abs(hsp)){
if(place_meeting(x + sign(hsp), y, slopes) && !place_meeting(x + sign(hsp), y - 1, slopes)){
y -= 2;
}
if(place_meeting(x + sign(hsp), y, slopes) && !place_meeting(x + sign(hsp), y + 1, slopes) &&
place_meeting(x + sign(hsp), y + 2, slopes)){
y += 2;
}
// Horizontal movement
x += sign(hsp);
}
}
我还在这里创建了一个包含我所有代码的帖子: https://forum.yoyogames.com/index.php?threads/diagonal-moving-on-slopes.69667/
【问题讨论】:
-
你是如何控制垂直运动的,我没有看到 'y' 值和 vspd 有任何变化?
标签: game-maker gml game-maker-studio-2