python 如何在pytmx中处理tile旋转?

qyyhg6bp  于 2023-02-11  发布在  Python
关注(0)|答案(1)|浏览(154)

我正在从Tiled with pytmx加载一个Map,但是当我绘制瓦片时,它们没有像在编辑器中那样旋转。
我用来画Map的代码是这样的:

tiled_map = pytmx.util_pygame.load_pygame(f"mymap.tmx")
tile_list = []
tile_group = pygame.sprite.Group()
tile_layer = tiled_map.get_layer_by_name("tiles")
for x, y, image in tile_layer.tiles():
    tile = Tile(x*self.tiled_map.tilewidth, y*self.tiled_map.tileheight, image=image)
    tile_group.add(tile)
    tilelist.append(tile)

#later in the code
for tile in tile_list:
    sur.blit(tile.image, (tile.x, tile.y))

所有平铺都绘制在正确的位置,但它们都具有默认旋转,即使它们在“平铺”中旋转:第一节第一节第一节第一节第一次
我知道这个问题类似于How to correctly display rotation object with pytmx?,但它对我没有帮助,因为我的问题是与瓷砖,而不是对象。

093gszye

093gszye1#

为什么要使用.tmx文件导出Map?将Map保存为CSV,CSV比.tmx更易于访问。使用tmx将Map保存和加载为切片,而不用于渲染Map
我就用这个

Map = open("*map file location*", 'r')

Read = csv.reader(Mapv)

for row in Read:
    Tile.append(row)

把它放进while循环

for y in range(8):
    for x in range(60):
         if Tile[y][x] == '*the_tile_number*':
              Screen.blit(*block_surface*, (x*60,y*60))

相关问题