import sys
import os
import kivy
-from erdslangetjie.data import filepath, load
-from erdslangetjie.level import Level
kivy.require('1.6.0')
from kivy.app import App
from kivy.logger import Logger, LoggerHistory
from kivy.uix.widget import Widget
-
from kivy.uix.floatlayout import FloatLayout
-from kivy.uix.scatter import Scatter
from kivy.graphics import Color, Rectangle
+from erdslangetjie.data import filepath, load
+from erdslangetjie.level import Level
+
+
+TILE_SIZE = 24
+
class EditorWindow(FloatLayout):
def __init__(self, level):
- super(EditorWindow, self).__init__()
+ super(EditorWindow, self).__init__(size=(800, 600))
if os.path.exists(filepath(level)):
level_data = load(level)
self.level = level
self.level = level
else:
self.level = 'levels/' + level
- self.level_obj = Level()
- self.level_obj.load(level_data)
+ self.level_obj = Level(level_data)
level_data.close()
+ self.level_obj.load_tiles()
def build(self):
self.clear_widgets()
tiles = self.level_obj.get_tiles()
- tile_size = 24
bx, by = 0, 0
for tile_line in tiles:
bx = 0
for tile in tile_line:
- node = Scatter(pos=(bx, by), size=(tile_size, tile_size))
+ node = Widget(size=(TILE_SIZE, TILE_SIZE), pos=(bx, by))
with node.canvas:
Color(1, 1, 1)
- Rectangle(size=node.size, texture=tile.texture)
+ Rectangle(pos=node.pos, size=node.size,
+ texture=tile.texture)
self.add_widget(node)
- bx += tile_size
- by += tile_size
+ bx += TILE_SIZE
+ by += TILE_SIZE
class EditorApp(App):