【发布时间】:2013-05-16 23:38:18
【问题描述】:
我正在开发我在 Pygame 中的第一款游戏,我想制作一个平铺地图。如何正确地做到这一点?
我在想的只是加载一个图块并使用循环将它彼此相邻。
【问题讨论】:
-
您通常从一个二维整数数组开始,该数组映射到一个切片数组中的索引,然后在循环中进行 blit
我正在开发我在 Pygame 中的第一款游戏,我想制作一个平铺地图。如何正确地做到这一点?
我在想的只是加载一个图块并使用循环将它彼此相邻。
【问题讨论】:
如果您精通 javascript,那么我强烈建议您将 polymaps 移植到 python 中,这是一个基于 javascript 的小型映射/平铺库。您只需要处理创建适当图块的代码,然后您可以以任何您认为合适的方式在图块中加载数据, 这是一个很好的例子http://polymaps.org/ex/tiles.html
【讨论】:
您可以使用平铺编辑器 (www.mapeditor.pl) 从准备好的较早的瓷砖制作平铺地图(在平铺中选择“新地图”,您可以指定地图和瓷砖大小),而不是您可以将地图导出为 tmx 格式并加载使用pytmx 将它发送到python。您还可以将地图导出为 ascii 文件并编写解析器来加载地图并渲染图块。
【讨论】:
现在不确定这是否有很大帮助,但您可以试试这个:
for x in range(20): # Creates 20 tiles
for y in range(20:
surface.blit(tile, (x,y), 2)
这将创建 20 X 20 的框,然后您只需要弄清楚如何移动行和列
【讨论】: