Forráskód Böngészése

开发:层数要扩展到25层

xlxin 1 éve
szülő
commit
cd8a731967

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 2 - 0
TileManor/scripts/0000-template.json


+ 5 - 2
TileManor/scripts/conv_lvs.py

@@ -77,6 +77,7 @@ def conver_json_to_proto(tDir, tFileName, outDir):
                 stacked_map[(x, y)] = 0
 
     # 处理各层的tile数据
+    cntTiles = 0
     for item in jsonData['layers']:
         name = item['name']
         if not name.startswith('Tile_'):
@@ -109,6 +110,10 @@ def conver_json_to_proto(tDir, tFileName, outDir):
                 maxX = tile.x
             if tile.y > maxY:
                 maxY = tile.y
+            cntTiles += 1
+    if cntTiles%3 != 0:
+        print('Error: tile count is not a multiple of 3: %d' % (cntTiles,))
+        exit(1)
     # 根据上面的布局信息,计算每个tile的几个信息:
     # 1. 每个tile的视觉层级(不同于上面z的信息,那是一个布局信息,相同的z可能出在不同的视觉层级)
     # 从maxZ开始,逐层向下计算;对于每一个位置,如果该位置有tile,则计算该tile的视觉层级
@@ -202,8 +207,6 @@ def convert_all_templates():
     temp_list = parse_level_inst_info()
     dirs = ['../tf_templates', '../miniGame']
     for temp_name in temp_list:
-        if temp_name.startswith('mg_'):
-            print("got")
         print(f"Converting template {temp_name}")
         # 判断正确的目录
         for d in dirs:

+ 7 - 6
TileManor/scripts/conv_tilefamily.py

@@ -15,11 +15,12 @@ def set_gid_in_layer(layer, x, y, gid):
 def update_tiled_json(source_json, tiled_template):
     for item in source_json['LevelData']:
         x, y, z = item['X'], item['Y'], item['Z']
-        if z < 10:
-            layer_name = f"Tile_{z}"
-            layer = next((l for l in tiled_template['layers'] if l['name'] == layer_name), None)
-            if layer:
-                set_gid_in_layer(layer, x, y, 1)
+        layer_name = f"Tile_{z}"
+        layer = next((l for l in tiled_template['layers'] if l['name'] == layer_name), None)
+        if layer:
+            set_gid_in_layer(layer, x, y, 1)
+        else:
+            print(f"Layer {layer_name} not found")
 
     marks_layer = next((l for l in tiled_template['layers'] if l['name'] == "Marks"), None)
     if marks_layer:
@@ -55,7 +56,7 @@ os.chdir(script_dir)
 # Example usage
 source_dir = '/Users/xulianxin/Documents/develop/game/TileMatch/TileManor.Lv/TileFamily/level_data2'
 target_dir = '../tf_templates'
-template_file = '../templates/0000-template.json'
+template_file = './0000-template.json'
 process_files(source_dir, target_dir, template_file)
 
 os.chdir(current_dir)

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott