我不太惊讶如果这个帖子被删除了只是因为它太傻了。
看,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。 我不得不重启电脑两次才能尝试修复代码。
我觉得这是因为它在同时运行太多东西...
所以我被困住了。 有人能告诉我我在哪里做错了吗?
评论 (0)