使用python / pygame打开tmx映射

时间:2014-07-21 16:46:17

标签: pygame zlib tmx

我正在尝试使用此tmx库https://github.com/renfredxh/tmx/blob/master/tmx.py

打开tmx地图

我的python代码如下所示:

import tmx3
import random
import math 
import pygame
from socket import *
from pygame.locals import *
from random import randint


pygame.init()
screen = pygame.display.set_mode((1024,640))
tilemap = tmx3.load('map.tmx', screen.get_size()) 

我正在尝试加载map.tmx,包含两个图层。一个没有图块集的图块层和一个带矩形的图层。

尝试运行我的代码时出现以下错误:

Traceback (most recent call last):
  File "C:\Users\Samy\workspace\Traveler\src\implement.py", line 12, in <module>
    tilemap = tmx3.load('map.tmx', screen.get_size()) 
  File "C:\Users\Samy\workspace\Traveler\src\tmx3.py", line 848, in load
    return TileMap.load(filename, viewport)
  File "C:\Users\Samy\workspace\Traveler\src\tmx3.py", line 727, in load
    layer = Layer.fromxml(tag, tilemap)
  File "C:\Users\Samy\workspace\Traveler\src\tmx3.py", line 261, in fromxml
    data = decompress(b64decode(data)) 
zlib.error: Error -5 while decompressing data: incomplete or truncated stream

我打印数据,结果是b''。有没有人知道这里有什么问题?

我在这里发现了同样的问题,但没有答案: Error using tmx with pygame

1 个答案:

答案 0 :(得分:0)

当我使用纯xml格式的.tmx文件时,我得到了同样的错误。 Tiled支持层数据的一些不同数据格式。 (base64-uncompressed,base64-zlib,base64-gzip,csv和xml)看起来这个库需要base64-zlib表单。