我想使用图像制作地图。它应该比游戏屏幕大,所以我需要一种在角色移动时滚动地图的方法。我该怎么做呢?
我查看了一些现有的游戏,但我对 Python 和一般编码仍然相当陌生,并且不太了解。
我正在使用 Python 3.2 和 Pygame 1.9.1。
一个简单的方法可能是有一个offset_x
和offset_y
变量。这些变量存储屏幕左上角的位置。渲染图像时,请确保它的 x 位置是x + offset_x
and y + offset_y
。
关于偏移想法的一些额外细节:
如果您计划在地图中包含诸如树木之类的障碍物,则可以将树木作为单独的对象,然后将它们粘贴到地图表面。然后,您可以使用偏移量在更新之前将地图表面及其所有障碍物和播放器粘贴到显示器上。
我写了一个简单的滚动图块演示:如何使用 pygame 将图像加载到网格中,而不仅仅是使用填充颜色?
随意拿代码。如果您想滚动单个图像而不是图块,则概念是相同的。您使用偏移量绘制,就像 RyladAlmanza 说的那样。