Bastien Sevajol il y a 6 ans
Parent
révision
195231cafb
2 fichiers modifiés avec 30 ajouts et 5 suppressions
  1. 6 5
      synergine2_cocos2d/layer.py
  2. 24 0
      synergine2_cocos2d/middleware.py

+ 6 - 5
synergine2_cocos2d/layer.py Voir le fichier

@@ -41,13 +41,14 @@ class LayerManager(object):
41 41
         from synergine2_cocos2d.gui import GridManager
42 42
 
43 43
         # TODO: Values from tmx map
44
+        self.middleware.init()
45
+
44 46
         self.grid_manager = GridManager(
45
-            8,
46
-            8,
47
-            100,
48
-            100,
47
+            self.middleware.get_cell_width(),
48
+            self.middleware.get_cell_height(),
49
+            self.middleware.get_world_width(),
50
+            self.middleware.get_world_height(),
49 51
         )
50
-        self.middleware.init()
51 52
 
52 53
         self.main_scene = cocos.scene.Scene()
53 54
         self.scrolling_manager = cocos.layer.ScrollingManager()

+ 24 - 0
synergine2_cocos2d/middleware.py Voir le fichier

@@ -33,6 +33,18 @@ class MapMiddleware(object):
33 33
     def get_top_layer(self) -> cocos.tiles.RectMapLayer:
34 34
         raise NotImplementedError()
35 35
 
36
+    def get_world_height(self) -> int:
37
+        raise NotImplementedError()
38
+
39
+    def get_world_width(self) -> int:
40
+        raise NotImplementedError()
41
+
42
+    def get_cell_height(self) -> int:
43
+        raise NotImplementedError()
44
+
45
+    def get_cell_width(self) -> int:
46
+        raise NotImplementedError()
47
+
36 48
 
37 49
 class TMXMiddleware(MapMiddleware):
38 50
     def get_background_sprite(self) -> cocos.sprite.Sprite:
@@ -48,3 +60,15 @@ class TMXMiddleware(MapMiddleware):
48 60
     def get_top_layer(self) -> cocos.tiles.RectMapLayer:
49 61
         assert self.tmx
50 62
         return self.tmx['top']
63
+
64
+    def get_world_height(self) -> int:
65
+        return len(self.tmx['ground'].cells[0])
66
+
67
+    def get_world_width(self) -> int:
68
+        return len(self.tmx['ground'].cells)
69
+
70
+    def get_cell_height(self) -> int:
71
+        return self.tmx['ground'].cells[0][0].size[1]
72
+
73
+    def get_cell_width(self) -> int:
74
+        return self.tmx['ground'].cells[0][0].size[0]