所以我正在制作基本的2D游戏,并且我使用路径将玩家移动到某一点。我被限制为800 x 600的窗口大小,我希望路径在1400的X坐标处完成。当路径继续通过800 X点时,如何使画布向左滚动。
我想到的另一个解决方案是让路径需要更长的时间并且只需要背景滚动来给出我想要实现的幻觉。但是我仍然更喜欢第一种选择。
答案 0 :(得分:1)
有两种解决方案:
您可以将画布包裹在ScrollPane中。请注意,您可以隐藏滚动条和scroll the viewport programatically(例如,始终保持玩家角色居中)。
您可以在每次玩家移动时刷新画布,并渲染相对于"世界原点"的所有内容。在任何其他渲染命令之前使用g.translate(-world.x,world.y)来执行此操作。注意负X坐标。