我试着让这个pytmx工作几天,但我似乎不知道如何继续下去,我只想加载所有的层,并在这里创建一些层作为Rect,我只是想让它在屏幕上显示blit,但这也不起作用
import pygame
import pytmx
pygame.init()
W, H = 800, 400
FPS = 60
win = pygame.display.set_mode((W, H), 0, 32)
pygame.display.set_caption('trying to make this work somewhow')
game_map = pytmx.load_pygame('map/map.tmx')
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
win.fill((146, 244, 200))
for layer in game_map.visible_layers:
for x, y, gid, in layer:
tile = game_map.get_tile_image_by_gid(gid)
win.blit(tile, (x * 16, y * 16))
pygame.display.update()
pygame.quit()发布于 2021-09-09 17:11:18
并不是所有的平铺都有图像(pygame.Surface)。如果tile不是None,只需评估
while run:
# [...]
for layer in game_map.visible_layers:
for x, y, gid, in layer:
tile = game_map.get_tile_image_by_gid(gid)
if tile:
win.blit(tile, (x * 16, y * 16))或者,也可以在拼贴的位置绘制一个彩色矩形:
while run:
# [...]
for layer in game_map.visible_layers:
for x, y, gid, in layer:
tile = game_map.get_tile_image_by_gid(gid)
if tile:
win.blit(tile, (x * 16, y * 16))
else:
pygame.draw.rect(win, "pink", (x * 16, y * 16, 16, 16))https://stackoverflow.com/questions/69121981
复制相似问题