|
@@ -84,18 +84,20 @@ def conver_json_to_proto(tDir, tFileName, outDir):
|
|
|
y = (int)(i / (int)(levelData.tileWidth))
|
|
|
stacked_map[(x, y)] = 0
|
|
|
|
|
|
- # 处理各层的tile数据
|
|
|
+ # 处理各层的tile数据,并去掉中间的空层
|
|
|
cntTiles = 0
|
|
|
+ z = 0
|
|
|
for item in jsonData['layers']:
|
|
|
name = item['name']
|
|
|
if not name.startswith('Tile_'):
|
|
|
# stacked
|
|
|
continue
|
|
|
- z = int(name[5:])
|
|
|
data = item['data']
|
|
|
+ is_empty = True
|
|
|
for i in range(0, len(data)):
|
|
|
if data[i] == 0:
|
|
|
continue
|
|
|
+ is_empty = False
|
|
|
tile = levelData.tiles.add()
|
|
|
tile.x = (int)(i % levelData.tileWidth)
|
|
|
tile.y = (int)(i / (int)(levelData.tileWidth))
|
|
@@ -119,6 +121,10 @@ def conver_json_to_proto(tDir, tFileName, outDir):
|
|
|
if tile.y > maxY:
|
|
|
maxY = tile.y
|
|
|
cntTiles += 1
|
|
|
+ if not is_empty:
|
|
|
+ z += 1
|
|
|
+ print('Tile 总数: %d' % (cntTiles,))
|
|
|
+ print('Tile 总数: %d' % (cntTiles,))
|
|
|
print('Tile 总数: %d' % (cntTiles,))
|
|
|
if cntTiles%3 != 0:
|
|
|
print('Error: Tile总数不是3的倍数 3: %d' % (cntTiles,))
|
|
@@ -140,6 +146,8 @@ def conver_json_to_proto(tDir, tFileName, outDir):
|
|
|
print("位置冲突:", p, ps)
|
|
|
if len(pos_conflict) > 0:
|
|
|
exit(1)
|
|
|
+ # 刷新io缓冲区
|
|
|
+ sys.stdout.flush()
|
|
|
time.sleep(3)
|
|
|
|
|
|
# 根据上面的布局信息,计算每个tile的几个信息:
|