我正在尝试了解 pygame 中的 tilemaps,并学习如何使用 Tiled Map Editor,但我无法成功在 pygame 中加载地图。这是代码:
import pygame
import pytmx
pygame.init()
display = pygame.display.set_mode((600,400))
clock = pygame.time.Clock()
gameMap = pytmx.TiledMap("map.tmx")
while(True):
clock.tick(60)
keys = pygame.key.get_pressed()
for event in pygame.event.get():
if(event.type == pygame.QUIT):
quit()
if(keys[pygame.K_ESCAPE]):
quit()
for layer in gameMap.visible_layers:
for x, y, gid, in layer:
tile = gameMap.get_tile_image_by_gid(gid)
if(tile != None):
display.blit(tile, (x * gameMap.tilewidth, y * gameMap.tileheight))
pygame.display.update()
它不断给我这个错误:
回溯(最后一次调用):文件“main.py”,第 27 行,在 display.blit(tile, (x * gameMap.tilewidth, y * gameMap.tileheight)) 类型错误:参数 1 必须是 pygame.Surface,而不是元组
我知道当我在控制台中打印图块时,这就是我得到的
(一个元组)
('img/NES - Super Mario Bros - Tileset.png', (0, 144, 16, 16), TileFlags(flipped_horizontally=False, flipped_vertically=False, flipped_diagonally=False))
:。
在pygame中成功加载tilemap的最简单方法是什么,我做错了什么?