diff --git a/Project.xml b/Project.xml
index ad91356..f4f018f 100644
--- a/Project.xml
+++ b/Project.xml
@@ -37,6 +37,8 @@
+
+
diff --git a/assets/data/level1.json b/assets/data/level1.json
deleted file mode 100644
index 37be520..0000000
--- a/assets/data/level1.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "ogmoVersion": "3.4.0",
- "width": 1056,
- "height": 640,
- "offsetX": 0,
- "offsetY": 0,
- "layers": [
- {
- "name": "bg",
- "_eid": "08002246",
- "offsetX": -32,
- "offsetY": 0,
- "gridCellWidth": 64,
- "gridCellHeight": 64,
- "gridCellsX": 17,
- "gridCellsY": 10,
- "tileset": "bg_tileset",
- "data": [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4],
- "exportMode": 0,
- "arrayMode": 0
- },
- {
- "name": "walls",
- "_eid": "08013951",
- "offsetX": 0,
- "offsetY": 0,
- "gridCellWidth": 16,
- "gridCellHeight": 16,
- "gridCellsX": 66,
- "gridCellsY": 40,
- "tileset": "main_tileset",
- "data": [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
- "exportMode": 0,
- "arrayMode": 0
- },
- {
- "name": "player_layer",
- "_eid": "08485754",
- "offsetX": 0,
- "offsetY": 0,
- "gridCellWidth": 8,
- "gridCellHeight": 8,
- "gridCellsX": 132,
- "gridCellsY": 80,
- "entities": [
- {"name": "player", "id": 0, "_eid": "08487422", "x": 32, "y": 80, "originX": 0, "originY": 0}
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/assets/data/map.ldtk b/assets/data/map.ldtk
new file mode 100644
index 0000000..24b74a1
--- /dev/null
+++ b/assets/data/map.ldtk
@@ -0,0 +1,525 @@
+{
+ "__header__": {
+ "fileType": "LDtk Project JSON",
+ "app": "LDtk",
+ "doc": "https://ldtk.io/json",
+ "schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+ "appAuthor": "Sebastien 'deepnight' Benard",
+ "appVersion": "1.1.3",
+ "url": "https://ldtk.io"
+ },
+ "jsonVersion": "1.1.3",
+ "appBuildId": 458364,
+ "nextUid": 7,
+ "identifierStyle": "Capitalize",
+ "worldLayout": "Free",
+ "worldGridWidth": 256,
+ "worldGridHeight": 256,
+ "defaultLevelWidth": 256,
+ "defaultLevelHeight": 256,
+ "defaultPivotX": 0,
+ "defaultPivotY": 0,
+ "defaultGridSize": 16,
+ "bgColor": "#40465B",
+ "defaultLevelBgColor": "#696A79",
+ "minifyJson": false,
+ "externalLevels": false,
+ "exportTiled": false,
+ "simplifiedExport": false,
+ "imageExportMode": "None",
+ "pngFilePattern": null,
+ "backupOnSave": false,
+ "backupLimit": 10,
+ "levelNamePattern": "Level_%idx",
+ "tutorialDesc": null,
+ "flags": [],
+ "defs": { "layers": [
+ {
+ "__type": "Entities",
+ "identifier": "Entities",
+ "type": "Entities",
+ "uid": 4,
+ "gridSize": 16,
+ "guideGridWid": 0,
+ "guideGridHei": 0,
+ "displayOpacity": 1,
+ "inactiveOpacity": 0.6,
+ "hideInList": false,
+ "hideFieldsWhenInactive": true,
+ "pxOffsetX": 0,
+ "pxOffsetY": 0,
+ "parallaxFactorX": 0,
+ "parallaxFactorY": 0,
+ "parallaxScaling": true,
+ "requiredTags": [],
+ "excludedTags": [],
+ "intGridValues": [],
+ "autoTilesetDefUid": null,
+ "autoRuleGroups": [],
+ "autoSourceLayerDefUid": null,
+ "tilesetDefUid": null,
+ "tilePivotX": 0,
+ "tilePivotY": 0
+ },
+ {
+ "__type": "Tiles",
+ "identifier": "Walls",
+ "type": "Tiles",
+ "uid": 2,
+ "gridSize": 16,
+ "guideGridWid": 0,
+ "guideGridHei": 0,
+ "displayOpacity": 1,
+ "inactiveOpacity": 1,
+ "hideInList": false,
+ "hideFieldsWhenInactive": false,
+ "pxOffsetX": 0,
+ "pxOffsetY": 0,
+ "parallaxFactorX": 0,
+ "parallaxFactorY": 0,
+ "parallaxScaling": true,
+ "requiredTags": [],
+ "excludedTags": [],
+ "intGridValues": [],
+ "autoTilesetDefUid": 6,
+ "autoRuleGroups": [],
+ "autoSourceLayerDefUid": null,
+ "tilesetDefUid": 6,
+ "tilePivotX": 0,
+ "tilePivotY": 0
+ }
+ ], "entities": [
+ {
+ "identifier": "Player",
+ "uid": 3,
+ "tags": [],
+ "width": 16,
+ "height": 16,
+ "resizableX": false,
+ "resizableY": false,
+ "keepAspectRatio": false,
+ "tileOpacity": 1,
+ "fillOpacity": 1,
+ "lineOpacity": 1,
+ "hollow": false,
+ "color": "#94D9B3",
+ "renderMode": "Rectangle",
+ "showName": true,
+ "tilesetId": null,
+ "tileId": null,
+ "tileRenderMode": "FitInside",
+ "tileRect": null,
+ "nineSliceBorders": [],
+ "maxCount": 1,
+ "limitScope": "PerLevel",
+ "limitBehavior": "MoveLastOne",
+ "pivotX": 0.5,
+ "pivotY": 0.5,
+ "fieldDefs": []
+ }
+ ], "tilesets": [
+ {
+ "__cWid": 22,
+ "__cHei": 11,
+ "identifier": "Main_Tileset",
+ "uid": 6,
+ "relPath": "../images/Terrain (16x16).png",
+ "embedAtlas": null,
+ "pxWid": 352,
+ "pxHei": 176,
+ "tileGridSize": 16,
+ "spacing": 0,
+ "padding": 0,
+ "tags": [],
+ "tagsSourceEnumUid": null,
+ "enumTags": [],
+ "customData": [],
+ "savedSelections": [],
+ "cachedPixelData": {
+ "opaqueTiles": "11111011111011110000001111101111101111000000111000111000011100000000000000000000000000001111101111101111011111111110111110111101111111100011100001110111000000000000000000000000111110111110111101111011111011111011110111101110001110000111001110",
+ "averageColors": "f677f566f778f445f5560000f682f782f783fb65fb650000f965fa75f965fa6500004a954984498500000000f566f223f566f556f4450000fa65fb65fb65f974f9740000f965fa75fb86fa54000058655965586500000000f778f566f677000000000000fa65fa65fa650000000000000000f834f954f9440000456645664566000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f854f744f854f644f6440000fb74fc74fb74f944f9440000f889f899f889f8890000fb44fc44fc44fc44fc44f744f223f744f644f6440000f944f944f944fa54fa540000f778f899f89af89a0000fb34fc44fc44fc44fc44f854f744f854000000000000f944f944f9440000000000000000f788f889f8890000fa34fb34fb44000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f376f265f376f244f2440000fc69fc79fc79fc96fc960000fc74fc74fc74fc740000fcb4fcb3fcb5fcb50000f265f223f265f244f2440000fb96fc96fc96fc88fc880000fc74fc74fc74fc740000fca5fcb5fcb5fcb30000f376f265f376000000000000fb86fb96fb860000000000000000fc74fc74fc7400000000fcb4fdb5fcb50000"
+ }
+ }
+ ], "enums": [], "externalEnums": [], "levelFields": [] },
+ "levels": [
+ {
+ "identifier": "Level_0",
+ "iid": "7f7a67d0-b4d0-11ec-8ec8-e79168c88dc4",
+ "uid": 0,
+ "worldX": 0,
+ "worldY": 0,
+ "worldDepth": 0,
+ "pxWid": 800,
+ "pxHei": 608,
+ "__bgColor": "#9395B7",
+ "bgColor": "#9395B7",
+ "useAutoIdentifier": true,
+ "bgRelPath": null,
+ "bgPos": null,
+ "bgPivotX": 0,
+ "bgPivotY": 0,
+ "__smartColor": "#C4C5D7",
+ "__bgPos": null,
+ "externalRelPath": null,
+ "fieldInstances": [],
+ "layerInstances": [
+ {
+ "__identifier": "Entities",
+ "__type": "Entities",
+ "__cWid": 50,
+ "__cHei": 38,
+ "__gridSize": 16,
+ "__opacity": 1,
+ "__pxTotalOffsetX": 0,
+ "__pxTotalOffsetY": 0,
+ "__tilesetDefUid": null,
+ "__tilesetRelPath": null,
+ "iid": "e1bf9230-b4d0-11ec-8ec8-f926a5f57fc9",
+ "levelId": 0,
+ "layerDefUid": 4,
+ "pxOffsetX": 0,
+ "pxOffsetY": 0,
+ "visible": true,
+ "optionalRules": [],
+ "intGridCsv": [],
+ "autoLayerTiles": [],
+ "seed": 6654002,
+ "overrideTilesetUid": null,
+ "gridTiles": [],
+ "entityInstances": [
+ {
+ "__identifier": "Player",
+ "__grid": [5,2],
+ "__pivot": [0.5,0.5],
+ "__tags": [],
+ "__tile": null,
+ "__smartColor": "#94D9B3",
+ "iid": "e7195a40-b4d0-11ec-8ec8-f3a4248e6365",
+ "width": 16,
+ "height": 16,
+ "defUid": 3,
+ "px": [88,40],
+ "fieldInstances": []
+ }
+ ]
+ },
+ {
+ "__identifier": "Walls",
+ "__type": "Tiles",
+ "__cWid": 50,
+ "__cHei": 38,
+ "__gridSize": 16,
+ "__opacity": 1,
+ "__pxTotalOffsetX": 0,
+ "__pxTotalOffsetY": 0,
+ "__tilesetDefUid": 6,
+ "__tilesetRelPath": "../images/Terrain (16x16).png",
+ "iid": "9ff364d0-b4d0-11ec-8ec8-dd83d60716b2",
+ "levelId": 0,
+ "layerDefUid": 2,
+ "pxOffsetX": 0,
+ "pxOffsetY": 0,
+ "visible": true,
+ "optionalRules": [],
+ "intGridCsv": [],
+ "autoLayerTiles": [],
+ "seed": 9737400,
+ "overrideTilesetUid": null,
+ "gridTiles": [
+ { "px": [0,0], "src": [240,0], "f": 0, "t": 15, "d": [0] },
+ { "px": [16,0], "src": [192,0], "f": 0, "t": 12, "d": [1] },
+ { "px": [32,0], "src": [208,0], "f": 0, "t": 13, "d": [2] },
+ { "px": [48,0], "src": [208,0], "f": 0, "t": 13, "d": [3] },
+ { "px": [64,0], "src": [208,0], "f": 0, "t": 13, "d": [4] },
+ { "px": [80,0], "src": [208,0], "f": 0, "t": 13, "d": [5] },
+ { "px": [96,0], "src": [208,0], "f": 0, "t": 13, "d": [6] },
+ { "px": [112,0], "src": [208,0], "f": 0, "t": 13, "d": [7] },
+ { "px": [128,0], "src": [208,0], "f": 0, "t": 13, "d": [8] },
+ { "px": [144,0], "src": [208,0], "f": 0, "t": 13, "d": [9] },
+ { "px": [160,0], "src": [208,0], "f": 0, "t": 13, "d": [10] },
+ { "px": [176,0], "src": [208,0], "f": 0, "t": 13, "d": [11] },
+ { "px": [192,0], "src": [208,0], "f": 0, "t": 13, "d": [12] },
+ { "px": [208,0], "src": [208,0], "f": 0, "t": 13, "d": [13] },
+ { "px": [224,0], "src": [208,0], "f": 0, "t": 13, "d": [14] },
+ { "px": [240,0], "src": [208,0], "f": 0, "t": 13, "d": [15] },
+ { "px": [256,0], "src": [208,0], "f": 0, "t": 13, "d": [16] },
+ { "px": [272,0], "src": [208,0], "f": 0, "t": 13, "d": [17] },
+ { "px": [288,0], "src": [208,0], "f": 0, "t": 13, "d": [18] },
+ { "px": [304,0], "src": [208,0], "f": 0, "t": 13, "d": [19] },
+ { "px": [320,0], "src": [208,0], "f": 0, "t": 13, "d": [20] },
+ { "px": [336,0], "src": [208,0], "f": 0, "t": 13, "d": [21] },
+ { "px": [352,0], "src": [208,0], "f": 0, "t": 13, "d": [22] },
+ { "px": [368,0], "src": [208,0], "f": 0, "t": 13, "d": [23] },
+ { "px": [384,0], "src": [208,0], "f": 0, "t": 13, "d": [24] },
+ { "px": [400,0], "src": [208,0], "f": 0, "t": 13, "d": [25] },
+ { "px": [416,0], "src": [208,0], "f": 0, "t": 13, "d": [26] },
+ { "px": [432,0], "src": [208,0], "f": 0, "t": 13, "d": [27] },
+ { "px": [448,0], "src": [208,0], "f": 0, "t": 13, "d": [28] },
+ { "px": [464,0], "src": [208,0], "f": 0, "t": 13, "d": [29] },
+ { "px": [480,0], "src": [208,0], "f": 0, "t": 13, "d": [30] },
+ { "px": [496,0], "src": [208,0], "f": 0, "t": 13, "d": [31] },
+ { "px": [512,0], "src": [208,0], "f": 0, "t": 13, "d": [32] },
+ { "px": [528,0], "src": [208,0], "f": 0, "t": 13, "d": [33] },
+ { "px": [544,0], "src": [208,0], "f": 0, "t": 13, "d": [34] },
+ { "px": [560,0], "src": [208,0], "f": 0, "t": 13, "d": [35] },
+ { "px": [576,0], "src": [208,0], "f": 0, "t": 13, "d": [36] },
+ { "px": [592,0], "src": [208,0], "f": 0, "t": 13, "d": [37] },
+ { "px": [608,0], "src": [208,0], "f": 0, "t": 13, "d": [38] },
+ { "px": [624,0], "src": [208,0], "f": 0, "t": 13, "d": [39] },
+ { "px": [640,0], "src": [208,0], "f": 0, "t": 13, "d": [40] },
+ { "px": [656,0], "src": [208,0], "f": 0, "t": 13, "d": [41] },
+ { "px": [672,0], "src": [208,0], "f": 0, "t": 13, "d": [42] },
+ { "px": [688,0], "src": [208,0], "f": 0, "t": 13, "d": [43] },
+ { "px": [704,0], "src": [208,0], "f": 0, "t": 13, "d": [44] },
+ { "px": [720,0], "src": [208,0], "f": 0, "t": 13, "d": [45] },
+ { "px": [736,0], "src": [208,0], "f": 0, "t": 13, "d": [46] },
+ { "px": [752,0], "src": [208,0], "f": 0, "t": 13, "d": [47] },
+ { "px": [768,0], "src": [224,0], "f": 0, "t": 14, "d": [48] },
+ { "px": [784,0], "src": [240,0], "f": 0, "t": 15, "d": [49] },
+ { "px": [0,16], "src": [240,16], "f": 0, "t": 37, "d": [50] },
+ { "px": [784,16], "src": [240,16], "f": 0, "t": 37, "d": [99] },
+ { "px": [0,32], "src": [240,16], "f": 0, "t": 37, "d": [100] },
+ { "px": [784,32], "src": [240,16], "f": 0, "t": 37, "d": [149] },
+ { "px": [0,48], "src": [240,16], "f": 0, "t": 37, "d": [150] },
+ { "px": [784,48], "src": [240,16], "f": 0, "t": 37, "d": [199] },
+ { "px": [0,64], "src": [240,16], "f": 0, "t": 37, "d": [200] },
+ { "px": [784,64], "src": [240,16], "f": 0, "t": 37, "d": [249] },
+ { "px": [0,80], "src": [240,16], "f": 0, "t": 37, "d": [250] },
+ { "px": [784,80], "src": [240,16], "f": 0, "t": 37, "d": [299] },
+ { "px": [0,96], "src": [240,16], "f": 0, "t": 37, "d": [300] },
+ { "px": [16,96], "src": [96,0], "f": 0, "t": 6, "d": [301] },
+ { "px": [32,96], "src": [112,0], "f": 0, "t": 7, "d": [302] },
+ { "px": [48,96], "src": [112,0], "f": 0, "t": 7, "d": [303] },
+ { "px": [64,96], "src": [112,0], "f": 0, "t": 7, "d": [304] },
+ { "px": [80,96], "src": [112,0], "f": 0, "t": 7, "d": [305] },
+ { "px": [96,96], "src": [112,0], "f": 0, "t": 7, "d": [306] },
+ { "px": [112,96], "src": [112,0], "f": 0, "t": 7, "d": [307] },
+ { "px": [128,96], "src": [112,0], "f": 0, "t": 7, "d": [308] },
+ { "px": [144,96], "src": [112,0], "f": 0, "t": 7, "d": [309] },
+ { "px": [160,96], "src": [112,0], "f": 0, "t": 7, "d": [310] },
+ { "px": [176,96], "src": [128,0], "f": 0, "t": 8, "d": [311] },
+ { "px": [784,96], "src": [240,16], "f": 0, "t": 37, "d": [349] },
+ { "px": [0,112], "src": [240,16], "f": 0, "t": 37, "d": [350] },
+ { "px": [16,112], "src": [96,16], "f": 0, "t": 28, "d": [351] },
+ { "px": [32,112], "src": [112,16], "f": 0, "t": 29, "d": [352] },
+ { "px": [48,112], "src": [112,16], "f": 0, "t": 29, "d": [353] },
+ { "px": [64,112], "src": [112,16], "f": 0, "t": 29, "d": [354] },
+ { "px": [80,112], "src": [112,16], "f": 0, "t": 29, "d": [355] },
+ { "px": [96,112], "src": [112,16], "f": 0, "t": 29, "d": [356] },
+ { "px": [112,112], "src": [112,16], "f": 0, "t": 29, "d": [357] },
+ { "px": [128,112], "src": [112,16], "f": 0, "t": 29, "d": [358] },
+ { "px": [144,112], "src": [112,16], "f": 0, "t": 29, "d": [359] },
+ { "px": [160,112], "src": [112,16], "f": 0, "t": 29, "d": [360] },
+ { "px": [176,112], "src": [128,16], "f": 0, "t": 30, "d": [361] },
+ { "px": [784,112], "src": [240,16], "f": 0, "t": 37, "d": [399] },
+ { "px": [0,128], "src": [240,16], "f": 0, "t": 37, "d": [400] },
+ { "px": [16,128], "src": [96,16], "f": 0, "t": 28, "d": [401] },
+ { "px": [32,128], "src": [112,16], "f": 0, "t": 29, "d": [402] },
+ { "px": [48,128], "src": [112,16], "f": 0, "t": 29, "d": [403] },
+ { "px": [64,128], "src": [112,16], "f": 0, "t": 29, "d": [404] },
+ { "px": [80,128], "src": [112,16], "f": 0, "t": 29, "d": [405] },
+ { "px": [96,128], "src": [112,16], "f": 0, "t": 29, "d": [406] },
+ { "px": [112,128], "src": [112,16], "f": 0, "t": 29, "d": [407] },
+ { "px": [128,128], "src": [112,16], "f": 0, "t": 29, "d": [408] },
+ { "px": [144,128], "src": [112,16], "f": 0, "t": 29, "d": [409] },
+ { "px": [160,128], "src": [112,16], "f": 0, "t": 29, "d": [410] },
+ { "px": [176,128], "src": [128,16], "f": 0, "t": 30, "d": [411] },
+ { "px": [400,128], "src": [320,0], "f": 0, "t": 20, "d": [425] },
+ { "px": [784,128], "src": [240,16], "f": 0, "t": 37, "d": [449] },
+ { "px": [0,144], "src": [240,16], "f": 0, "t": 37, "d": [450] },
+ { "px": [16,144], "src": [96,16], "f": 0, "t": 28, "d": [451] },
+ { "px": [32,144], "src": [112,16], "f": 0, "t": 29, "d": [452] },
+ { "px": [48,144], "src": [112,16], "f": 0, "t": 29, "d": [453] },
+ { "px": [64,144], "src": [112,16], "f": 0, "t": 29, "d": [454] },
+ { "px": [80,144], "src": [112,16], "f": 0, "t": 29, "d": [455] },
+ { "px": [96,144], "src": [112,16], "f": 0, "t": 29, "d": [456] },
+ { "px": [112,144], "src": [112,16], "f": 0, "t": 29, "d": [457] },
+ { "px": [128,144], "src": [112,16], "f": 0, "t": 29, "d": [458] },
+ { "px": [144,144], "src": [112,16], "f": 0, "t": 29, "d": [459] },
+ { "px": [160,144], "src": [112,16], "f": 0, "t": 29, "d": [460] },
+ { "px": [176,144], "src": [128,16], "f": 0, "t": 30, "d": [461] },
+ { "px": [400,144], "src": [320,0], "f": 0, "t": 20, "d": [475] },
+ { "px": [784,144], "src": [240,16], "f": 0, "t": 37, "d": [499] },
+ { "px": [0,160], "src": [240,16], "f": 0, "t": 37, "d": [500] },
+ { "px": [16,160], "src": [96,32], "f": 0, "t": 50, "d": [501] },
+ { "px": [32,160], "src": [112,32], "f": 0, "t": 51, "d": [502] },
+ { "px": [48,160], "src": [112,32], "f": 0, "t": 51, "d": [503] },
+ { "px": [64,160], "src": [112,32], "f": 0, "t": 51, "d": [504] },
+ { "px": [80,160], "src": [112,32], "f": 0, "t": 51, "d": [505] },
+ { "px": [96,160], "src": [112,32], "f": 0, "t": 51, "d": [506] },
+ { "px": [112,160], "src": [112,32], "f": 0, "t": 51, "d": [507] },
+ { "px": [128,160], "src": [112,32], "f": 0, "t": 51, "d": [508] },
+ { "px": [144,160], "src": [112,32], "f": 0, "t": 51, "d": [509] },
+ { "px": [160,160], "src": [112,32], "f": 0, "t": 51, "d": [510] },
+ { "px": [176,160], "src": [128,32], "f": 0, "t": 52, "d": [511] },
+ { "px": [400,160], "src": [320,0], "f": 0, "t": 20, "d": [525] },
+ { "px": [784,160], "src": [240,16], "f": 0, "t": 37, "d": [549] },
+ { "px": [0,176], "src": [240,16], "f": 0, "t": 37, "d": [550] },
+ { "px": [784,176], "src": [240,16], "f": 0, "t": 37, "d": [599] },
+ { "px": [0,192], "src": [240,16], "f": 0, "t": 37, "d": [600] },
+ { "px": [784,192], "src": [240,16], "f": 0, "t": 37, "d": [649] },
+ { "px": [0,208], "src": [240,16], "f": 0, "t": 37, "d": [650] },
+ { "px": [208,208], "src": [96,0], "f": 0, "t": 6, "d": [663] },
+ { "px": [224,208], "src": [112,0], "f": 0, "t": 7, "d": [664] },
+ { "px": [240,208], "src": [112,0], "f": 0, "t": 7, "d": [665] },
+ { "px": [256,208], "src": [112,0], "f": 0, "t": 7, "d": [666] },
+ { "px": [272,208], "src": [112,0], "f": 0, "t": 7, "d": [667] },
+ { "px": [288,208], "src": [112,0], "f": 0, "t": 7, "d": [668] },
+ { "px": [304,208], "src": [112,0], "f": 0, "t": 7, "d": [669] },
+ { "px": [320,208], "src": [112,0], "f": 0, "t": 7, "d": [670] },
+ { "px": [336,208], "src": [112,0], "f": 0, "t": 7, "d": [671] },
+ { "px": [352,208], "src": [112,0], "f": 0, "t": 7, "d": [672] },
+ { "px": [368,208], "src": [112,0], "f": 0, "t": 7, "d": [673] },
+ { "px": [384,208], "src": [128,0], "f": 0, "t": 8, "d": [674] },
+ { "px": [400,208], "src": [320,0], "f": 0, "t": 20, "d": [675] },
+ { "px": [784,208], "src": [240,16], "f": 0, "t": 37, "d": [699] },
+ { "px": [0,224], "src": [240,16], "f": 0, "t": 37, "d": [700] },
+ { "px": [208,224], "src": [96,32], "f": 0, "t": 50, "d": [713] },
+ { "px": [224,224], "src": [112,32], "f": 0, "t": 51, "d": [714] },
+ { "px": [240,224], "src": [112,32], "f": 0, "t": 51, "d": [715] },
+ { "px": [256,224], "src": [112,32], "f": 0, "t": 51, "d": [716] },
+ { "px": [272,224], "src": [112,32], "f": 0, "t": 51, "d": [717] },
+ { "px": [288,224], "src": [112,32], "f": 0, "t": 51, "d": [718] },
+ { "px": [304,224], "src": [112,32], "f": 0, "t": 51, "d": [719] },
+ { "px": [320,224], "src": [112,32], "f": 0, "t": 51, "d": [720] },
+ { "px": [336,224], "src": [112,32], "f": 0, "t": 51, "d": [721] },
+ { "px": [352,224], "src": [112,32], "f": 0, "t": 51, "d": [722] },
+ { "px": [368,224], "src": [112,32], "f": 0, "t": 51, "d": [723] },
+ { "px": [384,224], "src": [128,32], "f": 0, "t": 52, "d": [724] },
+ { "px": [784,224], "src": [240,16], "f": 0, "t": 37, "d": [749] },
+ { "px": [0,240], "src": [240,16], "f": 0, "t": 37, "d": [750] },
+ { "px": [784,240], "src": [240,16], "f": 0, "t": 37, "d": [799] },
+ { "px": [0,256], "src": [240,16], "f": 0, "t": 37, "d": [800] },
+ { "px": [784,256], "src": [240,16], "f": 0, "t": 37, "d": [849] },
+ { "px": [0,272], "src": [240,16], "f": 0, "t": 37, "d": [850] },
+ { "px": [784,272], "src": [240,16], "f": 0, "t": 37, "d": [899] },
+ { "px": [0,288], "src": [240,16], "f": 0, "t": 37, "d": [900] },
+ { "px": [416,288], "src": [96,0], "f": 0, "t": 6, "d": [926] },
+ { "px": [432,288], "src": [112,0], "f": 0, "t": 7, "d": [927] },
+ { "px": [448,288], "src": [112,0], "f": 0, "t": 7, "d": [928] },
+ { "px": [464,288], "src": [112,0], "f": 0, "t": 7, "d": [929] },
+ { "px": [480,288], "src": [112,0], "f": 0, "t": 7, "d": [930] },
+ { "px": [496,288], "src": [112,0], "f": 0, "t": 7, "d": [931] },
+ { "px": [512,288], "src": [112,0], "f": 0, "t": 7, "d": [932] },
+ { "px": [528,288], "src": [112,0], "f": 0, "t": 7, "d": [933] },
+ { "px": [544,288], "src": [112,0], "f": 0, "t": 7, "d": [934] },
+ { "px": [560,288], "src": [112,0], "f": 0, "t": 7, "d": [935] },
+ { "px": [576,288], "src": [128,0], "f": 0, "t": 8, "d": [936] },
+ { "px": [784,288], "src": [240,16], "f": 0, "t": 37, "d": [949] },
+ { "px": [0,304], "src": [240,16], "f": 0, "t": 37, "d": [950] },
+ { "px": [416,304], "src": [96,16], "f": 0, "t": 28, "d": [976] },
+ { "px": [432,304], "src": [112,16], "f": 0, "t": 29, "d": [977] },
+ { "px": [448,304], "src": [112,16], "f": 0, "t": 29, "d": [978] },
+ { "px": [464,304], "src": [112,16], "f": 0, "t": 29, "d": [979] },
+ { "px": [480,304], "src": [112,16], "f": 0, "t": 29, "d": [980] },
+ { "px": [496,304], "src": [112,16], "f": 0, "t": 29, "d": [981] },
+ { "px": [512,304], "src": [112,16], "f": 0, "t": 29, "d": [982] },
+ { "px": [528,304], "src": [112,16], "f": 0, "t": 29, "d": [983] },
+ { "px": [544,304], "src": [112,16], "f": 0, "t": 29, "d": [984] },
+ { "px": [560,304], "src": [112,16], "f": 0, "t": 29, "d": [985] },
+ { "px": [576,304], "src": [128,16], "f": 0, "t": 30, "d": [986] },
+ { "px": [784,304], "src": [240,16], "f": 0, "t": 37, "d": [999] },
+ { "px": [0,320], "src": [240,16], "f": 0, "t": 37, "d": [1000] },
+ { "px": [416,320], "src": [96,32], "f": 0, "t": 50, "d": [1026] },
+ { "px": [432,320], "src": [112,32], "f": 0, "t": 51, "d": [1027] },
+ { "px": [448,320], "src": [112,32], "f": 0, "t": 51, "d": [1028] },
+ { "px": [464,320], "src": [112,32], "f": 0, "t": 51, "d": [1029] },
+ { "px": [480,320], "src": [112,32], "f": 0, "t": 51, "d": [1030] },
+ { "px": [496,320], "src": [112,32], "f": 0, "t": 51, "d": [1031] },
+ { "px": [512,320], "src": [112,32], "f": 0, "t": 51, "d": [1032] },
+ { "px": [528,320], "src": [112,32], "f": 0, "t": 51, "d": [1033] },
+ { "px": [544,320], "src": [112,32], "f": 0, "t": 51, "d": [1034] },
+ { "px": [560,320], "src": [112,32], "f": 0, "t": 51, "d": [1035] },
+ { "px": [576,320], "src": [128,32], "f": 0, "t": 52, "d": [1036] },
+ { "px": [784,320], "src": [240,16], "f": 0, "t": 37, "d": [1049] },
+ { "px": [0,336], "src": [240,16], "f": 0, "t": 37, "d": [1050] },
+ { "px": [784,336], "src": [240,16], "f": 0, "t": 37, "d": [1099] },
+ { "px": [0,352], "src": [240,16], "f": 0, "t": 37, "d": [1100] },
+ { "px": [784,352], "src": [240,16], "f": 0, "t": 37, "d": [1149] },
+ { "px": [0,368], "src": [240,16], "f": 0, "t": 37, "d": [1150] },
+ { "px": [784,368], "src": [240,16], "f": 0, "t": 37, "d": [1199] },
+ { "px": [0,384], "src": [240,16], "f": 0, "t": 37, "d": [1200] },
+ { "px": [784,384], "src": [240,16], "f": 0, "t": 37, "d": [1249] },
+ { "px": [0,400], "src": [240,16], "f": 0, "t": 37, "d": [1250] },
+ { "px": [784,400], "src": [240,16], "f": 0, "t": 37, "d": [1299] },
+ { "px": [0,416], "src": [240,16], "f": 0, "t": 37, "d": [1300] },
+ { "px": [784,416], "src": [240,16], "f": 0, "t": 37, "d": [1349] },
+ { "px": [0,432], "src": [240,16], "f": 0, "t": 37, "d": [1350] },
+ { "px": [784,432], "src": [240,16], "f": 0, "t": 37, "d": [1399] },
+ { "px": [0,448], "src": [240,16], "f": 0, "t": 37, "d": [1400] },
+ { "px": [784,448], "src": [240,16], "f": 0, "t": 37, "d": [1449] },
+ { "px": [0,464], "src": [240,16], "f": 0, "t": 37, "d": [1450] },
+ { "px": [784,464], "src": [240,16], "f": 0, "t": 37, "d": [1499] },
+ { "px": [0,480], "src": [240,16], "f": 0, "t": 37, "d": [1500] },
+ { "px": [784,480], "src": [240,16], "f": 0, "t": 37, "d": [1549] },
+ { "px": [0,496], "src": [240,16], "f": 0, "t": 37, "d": [1550] },
+ { "px": [784,496], "src": [240,16], "f": 0, "t": 37, "d": [1599] },
+ { "px": [0,512], "src": [240,16], "f": 0, "t": 37, "d": [1600] },
+ { "px": [784,512], "src": [240,16], "f": 0, "t": 37, "d": [1649] },
+ { "px": [0,528], "src": [240,16], "f": 0, "t": 37, "d": [1650] },
+ { "px": [784,528], "src": [240,16], "f": 0, "t": 37, "d": [1699] },
+ { "px": [0,544], "src": [240,16], "f": 0, "t": 37, "d": [1700] },
+ { "px": [784,544], "src": [240,16], "f": 0, "t": 37, "d": [1749] },
+ { "px": [0,560], "src": [240,16], "f": 0, "t": 37, "d": [1750] },
+ { "px": [784,560], "src": [240,16], "f": 0, "t": 37, "d": [1799] },
+ { "px": [0,576], "src": [240,32], "f": 0, "t": 59, "d": [1800] },
+ { "px": [784,576], "src": [240,32], "f": 0, "t": 59, "d": [1849] },
+ { "px": [0,592], "src": [192,0], "f": 0, "t": 12, "d": [1850] },
+ { "px": [16,592], "src": [208,0], "f": 0, "t": 13, "d": [1851] },
+ { "px": [32,592], "src": [208,0], "f": 0, "t": 13, "d": [1852] },
+ { "px": [48,592], "src": [208,0], "f": 0, "t": 13, "d": [1853] },
+ { "px": [64,592], "src": [208,0], "f": 0, "t": 13, "d": [1854] },
+ { "px": [80,592], "src": [208,0], "f": 0, "t": 13, "d": [1855] },
+ { "px": [96,592], "src": [208,0], "f": 0, "t": 13, "d": [1856] },
+ { "px": [112,592], "src": [208,0], "f": 0, "t": 13, "d": [1857] },
+ { "px": [128,592], "src": [208,0], "f": 0, "t": 13, "d": [1858] },
+ { "px": [144,592], "src": [208,0], "f": 0, "t": 13, "d": [1859] },
+ { "px": [160,592], "src": [208,0], "f": 0, "t": 13, "d": [1860] },
+ { "px": [176,592], "src": [208,0], "f": 0, "t": 13, "d": [1861] },
+ { "px": [192,592], "src": [208,0], "f": 0, "t": 13, "d": [1862] },
+ { "px": [208,592], "src": [208,0], "f": 0, "t": 13, "d": [1863] },
+ { "px": [224,592], "src": [208,0], "f": 0, "t": 13, "d": [1864] },
+ { "px": [240,592], "src": [208,0], "f": 0, "t": 13, "d": [1865] },
+ { "px": [256,592], "src": [208,0], "f": 0, "t": 13, "d": [1866] },
+ { "px": [272,592], "src": [208,0], "f": 0, "t": 13, "d": [1867] },
+ { "px": [288,592], "src": [208,0], "f": 0, "t": 13, "d": [1868] },
+ { "px": [304,592], "src": [208,0], "f": 0, "t": 13, "d": [1869] },
+ { "px": [320,592], "src": [208,0], "f": 0, "t": 13, "d": [1870] },
+ { "px": [336,592], "src": [208,0], "f": 0, "t": 13, "d": [1871] },
+ { "px": [352,592], "src": [208,0], "f": 0, "t": 13, "d": [1872] },
+ { "px": [368,592], "src": [208,0], "f": 0, "t": 13, "d": [1873] },
+ { "px": [384,592], "src": [208,0], "f": 0, "t": 13, "d": [1874] },
+ { "px": [400,592], "src": [208,0], "f": 0, "t": 13, "d": [1875] },
+ { "px": [416,592], "src": [208,0], "f": 0, "t": 13, "d": [1876] },
+ { "px": [432,592], "src": [208,0], "f": 0, "t": 13, "d": [1877] },
+ { "px": [448,592], "src": [208,0], "f": 0, "t": 13, "d": [1878] },
+ { "px": [464,592], "src": [208,0], "f": 0, "t": 13, "d": [1879] },
+ { "px": [480,592], "src": [208,0], "f": 0, "t": 13, "d": [1880] },
+ { "px": [496,592], "src": [208,0], "f": 0, "t": 13, "d": [1881] },
+ { "px": [512,592], "src": [208,0], "f": 0, "t": 13, "d": [1882] },
+ { "px": [528,592], "src": [208,0], "f": 0, "t": 13, "d": [1883] },
+ { "px": [544,592], "src": [208,0], "f": 0, "t": 13, "d": [1884] },
+ { "px": [560,592], "src": [208,0], "f": 0, "t": 13, "d": [1885] },
+ { "px": [576,592], "src": [208,0], "f": 0, "t": 13, "d": [1886] },
+ { "px": [592,592], "src": [208,0], "f": 0, "t": 13, "d": [1887] },
+ { "px": [608,592], "src": [208,0], "f": 0, "t": 13, "d": [1888] },
+ { "px": [624,592], "src": [208,0], "f": 0, "t": 13, "d": [1889] },
+ { "px": [640,592], "src": [208,0], "f": 0, "t": 13, "d": [1890] },
+ { "px": [656,592], "src": [208,0], "f": 0, "t": 13, "d": [1891] },
+ { "px": [672,592], "src": [208,0], "f": 0, "t": 13, "d": [1892] },
+ { "px": [688,592], "src": [208,0], "f": 0, "t": 13, "d": [1893] },
+ { "px": [704,592], "src": [208,0], "f": 0, "t": 13, "d": [1894] },
+ { "px": [720,592], "src": [208,0], "f": 0, "t": 13, "d": [1895] },
+ { "px": [736,592], "src": [208,0], "f": 0, "t": 13, "d": [1896] },
+ { "px": [752,592], "src": [208,0], "f": 0, "t": 13, "d": [1897] },
+ { "px": [768,592], "src": [208,0], "f": 0, "t": 13, "d": [1898] },
+ { "px": [784,592], "src": [224,0], "f": 0, "t": 14, "d": [1899] }
+ ],
+ "entityInstances": []
+ }
+ ],
+ "__neighbours": []
+ }
+ ],
+ "worlds": []
+}
\ No newline at end of file
diff --git a/assets/data/maps.ogmo b/assets/data/maps.ogmo
deleted file mode 100644
index 87346ba..0000000
--- a/assets/data/maps.ogmo
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "name": "level1",
- "ogmoVersion": "3.4.0",
- "levelPaths": ["."],
- "backgroundColor": "#282c34ff",
- "gridColor": "#3c4049cc",
- "anglesRadians": true,
- "directoryDepth": 5,
- "layerGridDefaultSize": {"x": 8, "y": 8},
- "levelDefaultSize": {"x": 320, "y": 240},
- "levelMinSize": {"x": 128, "y": 128},
- "levelMaxSize": {"x": 4096, "y": 4096},
- "levelValues": [],
- "defaultExportMode": ".json",
- "compactExport": false,
- "externalScript": "",
- "playCommand": "",
- "entityTags": [],
- "layers": [
- {
- "definition": "tile",
- "name": "bg",
- "gridSize": {"x": 64, "y": 64},
- "exportID": "08002246",
- "exportMode": 0,
- "arrayMode": 0,
- "defaultTileset": "bg_tileset"
- },
- {
- "definition": "tile",
- "name": "walls",
- "gridSize": {"x": 16, "y": 16},
- "exportID": "08013951",
- "exportMode": 0,
- "arrayMode": 0,
- "defaultTileset": "main_tileset"
- },
- {
- "definition": "entity",
- "name": "player_layer",
- "gridSize": {"x": 8, "y": 8},
- "exportID": "08485754",
- "requiredTags": [],
- "excludedTags": []
- }
- ],
- "entities": [
- {
- "exportID": "08487422",
- "name": "player",
- "limit": -1,
- "size": {"x": 16, "y": 16},
- "origin": {"x": 0, "y": 0},
- "originAnchored": true,
- "shape": {
- "label": "Rectangle",
- "points": [
- {"x": -1, "y": -1},
- {"x": 1, "y": -1},
- {"x": -1, "y": 1},
- {"x": 1, "y": -1},
- {"x": -1, "y": 1},
- {"x": 1, "y": 1}
- ]
- },
- "color": "#ff0000ff",
- "tileX": false,
- "tileY": false,
- "tileSize": {"x": 16, "y": 16},
- "resizeableX": false,
- "resizeableY": false,
- "rotatable": false,
- "rotationDegrees": 360,
- "canFlipX": false,
- "canFlipY": false,
- "canSetColor": false,
- "hasNodes": false,
- "nodeLimit": 0,
- "nodeDisplay": 0,
- "nodeGhost": true,
- "tags": [],
- "values": []
- }
- ],
- "tilesets": [
- {"label": "main_tileset", "path": "../images/sci-fi-tileset.png", "image": "data:image/png;base64,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", "tileWidth": 16, "tileHeight": 16, "tileSeparationX": 0, "tileSeparationY": 0, "tileMarginX": 0, "tileMarginY": 0},
- {"label": "bg_tileset", "path": "../images/bg.png", "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAHrklEQVR42u3dS4skRRSG4fP/t6IECLpwNS4EF4J4QWxwITai4MAI/peSHmhoiq6uvMS5xfcO5E7MTHgfqK6KOGHvH7+47L3+/eer09eR+858zuf/5qc/3qdeX//wZ+r1yW+fSV/mEVcnBOoAvnwcsvE/vbt5xdUFAQCGJILn97azEXZHAIAhh+DlO9uMCDsjAMCQQnD9vjYrwq4IIqPceq9IbNdBrIzgtXe1mRF2RACAIYHg1nva7Ai7IQDAWB7BW+9oHhF2QgCAsTSCe+9nXhF2QQCAsSyCLe9mW38xXRUBAMaSCLa+l+1ZNrAiAgCM5RDseSfbu3ZmNQQAGEsh2Ps+dmQB2UoIADCWQXDkXezoKspVEABgLIHg6HvYmaXEKyAAwGiP4Mw72Nn19N0RAGC0RnD2+W3GppLOCAAw2iKY8ew2a2dVVwQAGC0RzHpum7m9sCMCAIx2CGY+s83eY9sNAQBGKwSzn9c8Npp3QgCA0QaBx7Oa17SFLggAMFog8HpO8xw50gEBAEZ5BJ7PaN5zd6ojAMAojcD7+Sxi+FRlBAAYZRFEPJtFTWCrigAAoySCqOeyqAlsVREwFmWUQxD5TBY1ga0qAgCMUgiin8eiJrBVRQCAUQZBxrNY1AS2qggAMEogyHoOi5rAVhUBAEY6gsxnsKgJbFURZAeYDRAABQ6pyEQAAD4CXZQRAED8j+BKxxVlIACA+Neg1c7sikYAAPEfwioeXBeJIHspQvZSDPmlEFVPb4xCAADxxXCVjzCNQAAA8eXQ1c/x9UYAAPENMR0Os/ZEAADxLZFdTnT3QgAA8U3xXU5090IAAPGxKF1OdPf6/wJAfDBWlxPdvRAAQHw0YpcT3b0QAEB8OG6XE929EABAfDx6lxPdvRAAQPyAjC4nunshAID4EUldTnT3QgAA8UPyupzo7nV/AHBM6kUZAQA4KPuijAAAa8W/F4FFTWCrigAA68W/B4FFTWCrigAAa8a/FYFFTWCrigAA68a/BYFFTWCrigAAa8d/D4FFTWCrigAA68f/FgKLmsBWFQFjUTTiv4XAoiawVUUAAJ34X0NgURPYqiIAgFb81wgsagJbVQQA0Iv/JQKLmsBWFYE6ANX4ny/78fu/LpnXd+9+T70eHx+lL1P/B4Dj8Tw8PHy8suKdcX8AAOBUfFkIZt0fAAA4HV80gpn3BwAApsQXhWD2/QEAgGnxeSPwuD8AADA1Pi8EXvcHAACmxzcbgef9AQAAl/hmIfC+PwAA4BbfWQQR9wcAAFzjO4og6v4AAIB7fHsRRN4fAAAIiW8rguj7AwAAYfHdQ5BxfwAAIDS+Wwiy7g8AAITHdx1h5v0BAAAAAICPQHwEAgB/BPNHMAD4GpSvQQHAD2H8EAYAlkKwFAIALIZjMRwAWA7NcmgAsCGGDTEAYEskWyIBwKZ4NsUDgLEojEUBAIOxGIwFAEYjMhoRAAzHZTguABiPznj0dv+yA8wGCAAAAICPQAAAAH8EAwAAfA0KAADwQxgAAMBSCAAAgMVwAAAAy6EBoAuADTEAkAXAlkgAyAJgUzwAZAEwFgUAsgAYjAUAWQCMRgSALACG4wJAFgDj0QEAAAAAgI9AfAQCAH8E80cwAPgalK9BAcAPYfwQBgCWQrAUAgAshmMxHABYDs1yaACwIYYNMQBgSyRbIgHApng2xQOAsSiMRQEAg7EYjAUARiMyGhEADMdlOC4AGI/OePRG//5+98sl8/rvm1/Trqf7f/j5c+kLAMLxAwAAphw/AABgyvFnA3j/7acfLwAIAagUfyaA5/izEQBAOP4sANfxZyIAgHD8GQBuxZ+FAADC8UcDuBd/BgIACMcfCWBr/NEIACAcfxSAvfFHIgCAcPwRAI7GH4UAAMLxewM4G38EAgAIx+8JYFb83ggAIBy/F4DZ8XsiAIBw/B4AvOL3QgAA4fhnA/CO3wMBAITjnwkgKv7ZCAAgHP8sANHxz0QAAOH4ZwDIin8WAgAIx38WQHb8MxAAQDj+MwCqxH8WAQCE4z8KoFr8ZxAAQDj+IwCqxn8UAQCE498LoHr8RxAAQDj+PQC6xL8XAQCE498KoFv8exAAQDj+LQC6xr8VAQCE478HoHv8WxAAQDj+twCsEv89BAAQjv8WgNXifwsBAITjfw3AqvHfQgAA4fivAawe/2sI5AEox/8SQGaImfcGgHD8T8+RHWA2AgAIx/90VfpGJuNZACAcfwaAaj+8AUA4/mgAFdcdAUA4/kgAVZddA0A4/igAlXedAUA4/ggA1TfdA0A4fm8AHWYOAUA4fk8AXUYuAkA4fi8AXSZOA8ABQKf4PQBUP3ADAI4AusU/G0DV88YAEACgY/wzAVQ7bhUAgQC6xj8LQJXT5gGQAKBz/DMAZMU/CwEAhOM/CyA7/hkIACAc/xkAVeI/iwAAwvEfBVAt/jMIACAc/xEAVeM/igAAwvHvBVA9/iMIACAc/x4AXeLfiwAAwvFvBdAt/j0IACAc/xYAXePfigAAwvHfA9A9/i0IACAc/1sAVon/HgIACMd/C8Bq8b+FAADC8b8GYNX4byEAgHD81wBWj/81BAAQjv8lAJX4rxEAQDj+ZwBq8b9EIA9AOf7n6dDKl3r//wOGQCAKfTdE+wAAAC10RVh0U29mdHdhcmUAYnkuYmxvb2RkeS5jcnlwdG8uaW1hZ2UuUE5HMjRFbmNvZGVyqAZ/7gAAAABJRU5ErkJggg==", "tileWidth": 64, "tileHeight": 64, "tileSeparationX": 0, "tileSeparationY": 0, "tileMarginX": 0, "tileMarginY": 0}
- ]
-}
\ No newline at end of file
diff --git a/assets/images/Gray.png b/assets/images/Gray.png
new file mode 100644
index 0000000..07d6792
Binary files /dev/null and b/assets/images/Gray.png differ
diff --git a/assets/images/Terrain (16x16).png b/assets/images/Terrain (16x16).png
new file mode 100644
index 0000000..6674ca1
Binary files /dev/null and b/assets/images/Terrain (16x16).png differ
diff --git a/assets/images/bg.png b/assets/images/bg.png
deleted file mode 100644
index d6ff56c..0000000
Binary files a/assets/images/bg.png and /dev/null differ
diff --git a/source/core/GameMap.hx b/source/core/GameMap.hx
new file mode 100644
index 0000000..7641623
--- /dev/null
+++ b/source/core/GameMap.hx
@@ -0,0 +1,3 @@
+package core;
+
+private typedef _Tmp = haxe.macro.MacroType<[ldtk.Project.build("assets/data/map.ldtk")]>;
diff --git a/source/core/LevelBase.hx b/source/core/LevelBase.hx
index 4d46182..2b66be9 100644
--- a/source/core/LevelBase.hx
+++ b/source/core/LevelBase.hx
@@ -1,56 +1,88 @@
package core;
-import core.Types.LevelConfig;
+import core.GameMap;
import entities.Player;
import flixel.FlxG;
import flixel.FlxState;
-import flixel.addons.editors.ogmo.FlxOgmo3Loader;
-import flixel.tile.FlxTilemap;
+import flixel.addons.display.FlxTiledSprite;
+import flixel.addons.transition.FlxTransitionSprite.GraphicTransTileDiamond;
+import flixel.addons.transition.FlxTransitionableState;
+import flixel.addons.transition.TransitionData;
+import flixel.graphics.FlxGraphic;
+import flixel.group.FlxSpriteGroup;
+import flixel.util.FlxColor;
import scenes.GameOver;
class LevelBase extends FlxState
{
- var map:FlxOgmo3Loader;
- var bg:FlxTilemap;
- var walls:FlxTilemap;
+ var walls:Dynamic;
var _player:Player;
+ var levelContainer:FlxSpriteGroup;
+ var bg:FlxTiledSprite;
- public function new(levelConfig:LevelConfig)
+ var currentLevel:GameMap_Level;
+
+ public function new(level:GameMap_Level)
{
super();
- map = new FlxOgmo3Loader(levelConfig.ogmoLevel, levelConfig.levelJson);
- bg = map.loadTilemap(levelConfig.bgTileSheet, "bg");
- walls = map.loadTilemap(levelConfig.wallTilesheet, "walls");
- bg.scrollFactor.set(.33, .33);
+ currentLevel = level;
+ }
+
+ function createTransition()
+ {
+ FlxTransitionableState.defaultTransIn = new TransitionData(TILES, FlxColor.WHITE, 1.1);
+ FlxTransitionableState.defaultTransOut = new TransitionData(TILES, FlxColor.WHITE, 1.1);
+ var diamond:FlxGraphic = FlxGraphic.fromClass(cast GraphicTransTileDiamond);
+ diamond.persist = true;
+ diamond.destroyOnNoUse = false;
+
+ FlxTransitionableState.defaultTransIn.tileData = {asset: diamond, width: 32, height: 32};
+ FlxTransitionableState.defaultTransOut.tileData = {asset: diamond, width: 32, height: 32};
}
override public function create()
{
super.create();
+ createTransition();
+ setupLevel();
+ }
+
+ function setupLevel()
+ {
+ levelContainer = new FlxSpriteGroup();
+ levelContainer.x = currentLevel.worldX;
+ levelContainer.y = currentLevel.worldY;
+ walls = currentLevel.l_Walls;
+
+ currentLevel.l_Walls.render(levelContainer);
+ levelContainer.immovable = true;
+ bg = new FlxTiledSprite(AssetPaths.Gray__png, currentLevel.pxWid, currentLevel.pxHei, true, true);
+
add(bg);
- add(walls);
- map.loadEntities(loadPlayer, 'player_layer');
- FlxG.camera.setScrollBoundsRect(0, 0, walls.width, walls.height, true);
+ bg.scrollFactor.set(.33, .33);
+ for (player in currentLevel.l_Entities.all_Player)
+ {
+ initPlayer(player);
+ }
+ add(levelContainer);
+ FlxG.camera.setScrollBoundsRect(0, 0, currentLevel.pxWid, currentLevel.pxHei, true);
+ }
+
+ function initPlayer(playerEntity)
+ {
+ _player = new Player(playerEntity.pixelX, playerEntity.pixelY);
+ add(_player);
+ FlxG.camera.follow(_player, PLATFORMER);
}
override public function update(elapsed:Float)
{
super.update(elapsed);
- FlxG.collide(_player, walls);
+ FlxG.collide(_player, levelContainer);
- if (_player.y > walls.height)
+ if (_player.y > currentLevel.pxHei)
{
openSubState(new GameOver());
}
}
-
- function loadPlayer(entity:EntityData)
- {
- if (entity.name == "player")
- {
- _player = new Player(entity.x, entity.y);
- add(_player);
- FlxG.camera.follow(_player, NO_DEAD_ZONE);
- }
- }
}
diff --git a/source/core/Types.hx b/source/core/Types.hx
deleted file mode 100644
index d53dd06..0000000
--- a/source/core/Types.hx
+++ /dev/null
@@ -1,9 +0,0 @@
-package core;
-
-typedef LevelConfig =
-{
- var ogmoLevel:String;
- var levelJson:String;
- var wallTilesheet:String;
- var bgTileSheet:String;
-}
diff --git a/source/entities/Player.hx b/source/entities/Player.hx
index 07f4e12..977d355 100644
--- a/source/entities/Player.hx
+++ b/source/entities/Player.hx
@@ -13,14 +13,14 @@ class Player extends FlxSprite
var _left:FlxActionDigital;
var _right:FlxActionDigital;
var _jump:FlxActionDigital;
- var _jumpPower:Int = 200;
+ var _jumpPower:Int = 230;
public function new(x:Int, y:Int)
{
super(x, y);
makeGraphic(16, 16, FlxColor.BLUE);
- var runSpeed:Int = 80;
+ var runSpeed:Int = 120;
drag.x = runSpeed * 8;
acceleration.y = 420;
maxVelocity.set(runSpeed, _jumpPower);
diff --git a/source/scenes/GameOver.hx b/source/scenes/GameOver.hx
index 34b2518..8b530fb 100644
--- a/source/scenes/GameOver.hx
+++ b/source/scenes/GameOver.hx
@@ -20,7 +20,7 @@ class GameOver extends FlxSubState
public function new()
{
- super(0x33000000);
+ super(0x303030bf);
}
override public function create()
diff --git a/source/scenes/Level1.hx b/source/scenes/Level1.hx
index 2da940f..014909a 100644
--- a/source/scenes/Level1.hx
+++ b/source/scenes/Level1.hx
@@ -1,18 +1,19 @@
package scenes;
+import core.GameMap;
import core.LevelBase;
-import flixel.FlxState;
class Level1 extends LevelBase
{
+ var map:GameMap;
+ var _currentLevel:GameMap_Level;
+
public function new()
{
- super({
- ogmoLevel: AssetPaths.maps__ogmo,
- bgTileSheet: AssetPaths.bg__png,
- wallTilesheet: AssetPaths.sci_fi_tileset__png,
- levelJson: AssetPaths.level1__json
- });
+ createTransition();
+ map = new GameMap();
+ _currentLevel = map.all_levels.Level_0;
+ super(_currentLevel);
}
override public function create()
diff --git a/source/scenes/MenuState.hx b/source/scenes/MenuState.hx
index bfa83cb..a35e3fe 100644
--- a/source/scenes/MenuState.hx
+++ b/source/scenes/MenuState.hx
@@ -5,6 +5,11 @@ import djFlixel.gfx.pal.Pal_DB32;
import djFlixel.ui.FlxMenu;
import flixel.FlxG;
import flixel.FlxState;
+import flixel.addons.transition.FlxTransitionSprite.GraphicTransTileDiamond;
+import flixel.addons.transition.FlxTransitionableState;
+import flixel.addons.transition.TransitionData;
+import flixel.graphics.FlxGraphic;
+import flixel.util.FlxColor;
import openfl.system.System;
class MenuState extends FlxState
@@ -12,10 +17,35 @@ class MenuState extends FlxState
override public function create()
{
super.create();
+ createTransition();
this.generateStarField();
this.createMenu();
}
+ function createTransition()
+ {
+ FlxTransitionableState.defaultTransIn = new TransitionData(TILES, FlxColor.WHITE, 1.1);
+ FlxTransitionableState.defaultTransOut = new TransitionData(TILES, FlxColor.WHITE, 1.1);
+ var diamond:FlxGraphic = FlxGraphic.fromClass(cast GraphicTransTileDiamond);
+ diamond.persist = true;
+ diamond.destroyOnNoUse = false;
+
+ FlxTransitionableState.defaultTransIn.tileData = {asset: diamond, width: 32, height: 32};
+ FlxTransitionableState.defaultTransOut.tileData = {asset: diamond, width: 32, height: 32};
+
+ // FlxTransitionableState.defaultTransIn.color = FlxColor.WHITE;
+ // FlxTransitionableState.defaultTransIn.type = TILES;
+ // FlxTransitionableState.defaultTransIn.duration = 2;
+ // FlxTransitionableState.defaultTransIn.direction = new FlxPoint(1, 0);
+ // FlxTransitionableState.defaultTransIn.tileData.asset = diamond;
+
+ // FlxTransitionableState.defaultTransOut.color = FlxColor.WHITE;
+ // FlxTransitionableState.defaultTransOut.type = TILES;
+ // FlxTransitionableState.defaultTransOut.duration = 2;
+ // FlxTransitionableState.defaultTransOut.direction = new FlxPoint(1, 0);
+ // FlxTransitionableState.defaultTransOut.tileData.asset = diamond;
+ }
+
private function generateStarField()
{
var stars = new StarfieldSimple();