你可以向左滚动 Canvas

Can you make a Canvas scroll to the left

所以我正在制作一个基本的 2D 游戏,我正在使用路径将玩家移动到某个点。我被限制为 800 x 600 的 window 大小,并且我希望路径在 X 坐标 1400 处结束。如何让 canvas 随着路径继续向左滚动通过了 800 X 点。

我想到的另一个解决方案是让路径花费更长的时间,并且只让背景滚动以产生我正在努力实现的错觉。不过我还是更喜欢第一个选项。

有两种解决方法:

  1. 您可以将 canvas 包裹在 ScrollPane. Note that you can hide the scrollbars and scroll the viewport programatically 中(例如,让玩家角色始终居中)。

  2. 您可以在每次玩家移动时刷新 canvas 并渲染与 "world origin" 相关的所有内容。在任何其他渲染命令之前使用 g.translate(-world.x,world.y) 来执行此操作。注意负 X 坐标。