我不太惊讶如果这个帖子被删除了只是因为它太傻了。

看,GameMaker Studio 2 中,我试图将对象显示在 GUI 上,使其从屏幕底部滑动到屏幕上方的更高点。 我不能简单地写

y -= 32;

因为它会瞬间移动对象,而不是平滑过渡。 我通过 Google "如何平滑地滑动 GameMaker 中对象的 y 位置",找到了一些关于函数

move_towards_point();

的信息,这看起来很有希望。 我在代码中设置它,... 对象只是不断滑动而没有任何停顿的迹象。 甚至更令人困惑的是,它看起来根本没有去达到的 x 和 y 值。 例如,当 y 值设置为 160 时,对象会滑动向右而不是向上?

所以我继续深入挖掘。 我发现函数 不会 停止在达到点后,我必须手动停止它。 并在 GameMaker 手册中找到示例代码后,我认为我的问题已经解决了。 behold 我在 5 秒钟内拼凑的代码,改变了一些值以适应我的游戏。

if (point_distance(x, y, 16, 160) > 1) {
  move_towards_point(16, 160, 1);
} 
else {
  speed = 0;
  x = 16;
  y = 160;
}

... 仍然没有效果。 看到对象滑出屏幕的画面,实在是让我感到沮丧。 我最后一次尝试修复它是将示例代码转换为 "do / until" 函数。

do {
  move_towards_point(16, 10, 1);
}
until (y == 160);

我认为这个代码看起来很不错,所以我迫不及待地运行了游戏,... 游戏 froze。 我不得不重启电脑两次才能尝试修复代码。

我觉得这是因为它在同时运行太多东西...

所以我被困住了。 有人能告诉我我在哪里做错了吗?