【发布时间】:2019-07-06 13:00:45
【问题描述】:
我在 Tiled Editor 程序中制作了一个 *tmx 地图。然后我尝试将它导入到我的游戏中。当我将变量 layers 更改为 0 时,它可以工作,但屏幕上只有 1 个图块。我想在我的屏幕上打印整个地图。但我收到以下错误。
Traceback (most recent call last):
File "C:\Users\LL\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pytmx\pytmx.py", line 512, in get_tile_image
layer = self.layers[layer]
IndexError: list index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\LL\Desktop\Erik\RPG_project\RPG project\data\main.py", line 143, in <module>
game_initialize()
File "C:\Users\LL\Desktop\Erik\RPG_project\RPG project\data\main.py", line 117, in game_initialize
map_setup()
File "C:\Users\LL\Desktop\Erik\RPG_project\RPG project\data\main.py", line 140, in map_setup
image = tmxdata.get_tile_image(0, 0, 2)
File "C:\Users\LL\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pytmx\pytmx.py", line 514, in get_tile_image
raise ValueError
ValueError
我认为这与我的图层有关。我的地图只有 1 层。我的脚本仍然不起作用。我的地图也使用 Base64(压缩)。以及 32 像素的大图块。
from pytmx import load_pygame
def map_setup():
global image
# Getting / Importing the map
tmxdata = load_pygame("Tile_files\\mymap2.tmx")
image = tmxdata.get_tile_image(0, 0, 1) # x, y, layer
【问题讨论】:
-
您的地图文件中是否有多个图层? TMX 函数
get_tile_image()返回单个平铺图像,因此从第 0 层获取单个图像描述了问题中所写的内容 - 因此这与预期发生的情况相符。 -
@Kingsley 我的地图文件中有 1 层。我试图在屏幕上显示所有图层。感谢您的回复!