From 0e2fb71aaf836df3ed7c2fec9eba74adb54f2b75 Mon Sep 17 00:00:00 2001 From: George FunBook Date: Thu, 15 Feb 2024 12:04:40 -0600 Subject: [PATCH 01/11] use simpler method for movement --- Tutorials/TurnBasedRPG/source/Player.hx | 65 +++++++++++-------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/Tutorials/TurnBasedRPG/source/Player.hx b/Tutorials/TurnBasedRPG/source/Player.hx index 92c319b57..a3a1f2fba 100644 --- a/Tutorials/TurnBasedRPG/source/Player.hx +++ b/Tutorials/TurnBasedRPG/source/Player.hx @@ -58,48 +58,41 @@ class Player extends FlxSprite left = left || virtualPad.buttonLeft.pressed; right = right || virtualPad.buttonRight.pressed; #end - + + // Cancel out opposing directions if (up && down) up = down = false; if (left && right) left = right = false; - - if (up || down || left || right) + + if (right) { - var newAngle:Float = 0; - if (up) - { - newAngle = -90; - if (left) - newAngle -= 45; - else if (right) - newAngle += 45; - facing = UP; - } - else if (down) - { - newAngle = 90; - if (left) - newAngle += 45; - else if (right) - newAngle -= 45; - facing = DOWN; - } - else if (left) - { - newAngle = 180; - facing = LEFT; - } - else if (right) - { - newAngle = 0; - facing = RIGHT; - } - - // determine our velocity based on angle and speed - velocity.setPolarDegrees(SPEED, newAngle); + facing = RIGHT; + velocity.x = SPEED; } - + else if (left) + { + facing = LEFT; + velocity.x = -SPEED; + } + + if (down) + { + facing = DOWN; + velocity.y = SPEED; + } + else if (up) + { + facing = UP; + velocity.y = -SPEED; + } + + // Prevent faster speeds on diagonal movement + var magnitude = velocity.length; + if (magnitude > SPEED) + // Reduce velocity to SPEED but maintain the same direction + velocity.scale(SPEED / magnitude); + var action = "idle"; // check if the player is moving, and not walking into walls if ((velocity.x != 0 || velocity.y != 0) && touching == NONE) From 578fec6db7f48cc0c404d10cfb83727490cfc509 Mon Sep 17 00:00:00 2001 From: George FunBook Date: Tue, 27 Feb 2024 14:56:54 -0600 Subject: [PATCH 02/11] first pass at new tutorial --- .../TurnBasedRPG/assets/data/room-001.json | 52 +- .../assets/data/turnBasedRPG.ogmo | 10 +- Tutorials/TurnBasedRPG/assets/images/boss.png | Bin 2558 -> 1322 bytes .../TurnBasedRPG/assets/images/button.png | Bin 1126 -> 337 bytes Tutorials/TurnBasedRPG/assets/images/coin.png | Bin 984 -> 225 bytes .../TurnBasedRPG/assets/images/enemy.png | Bin 2405 -> 904 bytes Tutorials/TurnBasedRPG/assets/images/font.png | Bin 0 -> 512 bytes .../TurnBasedRPG/assets/images/health.png | Bin 984 -> 205 bytes .../TurnBasedRPG/assets/images/player.png | Bin 1876 -> 1289 bytes .../TurnBasedRPG/assets/images/pointer.png | Bin 992 -> 181 bytes .../assets/images/small_button.png | Bin 0 -> 248 bytes .../TurnBasedRPG/assets/images/tiles.png | Bin 1056 -> 1002 bytes .../TurnBasedRPG/assets/images/ui_section.png | Bin 0 -> 228 bytes .../TurnBasedRPG/assets/images/uiback.png | Bin 0 -> 279 bytes Tutorials/TurnBasedRPG/assets/sounds/coin.wav | Bin 23978 -> 47686 bytes .../TurnBasedRPG/assets/sounds/combat.wav | Bin 39300 -> 107302 bytes Tutorials/TurnBasedRPG/assets/sounds/fled.wav | Bin 34298 -> 47686 bytes Tutorials/TurnBasedRPG/assets/sounds/hurt.wav | Bin 20012 -> 14125 bytes Tutorials/TurnBasedRPG/assets/sounds/lose.wav | Bin 33516 -> 71533 bytes Tutorials/TurnBasedRPG/assets/sounds/miss.wav | Bin 24158 -> 31789 bytes .../TurnBasedRPG/assets/sounds/select.wav | Bin 10518 -> 21190 bytes Tutorials/TurnBasedRPG/assets/sounds/win.wav | Bin 54320 -> 71533 bytes Tutorials/TurnBasedRPG/source/Coin.hx | 4 +- Tutorials/TurnBasedRPG/source/CombatHUD.hx | 507 ----------------- Tutorials/TurnBasedRPG/source/Enemy.hx | 37 +- .../TurnBasedRPG/source/GameOverState.hx | 123 ++--- Tutorials/TurnBasedRPG/source/HUD.hx | 37 +- Tutorials/TurnBasedRPG/source/LargeText.hx | 60 ++ Tutorials/TurnBasedRPG/source/MenuState.hx | 72 ++- Tutorials/TurnBasedRPG/source/OptionsState.hx | 53 +- Tutorials/TurnBasedRPG/source/PlayState.hx | 137 ++--- Tutorials/TurnBasedRPG/source/Player.hx | 75 +-- .../TurnBasedRPG/source/ui/CombatSubState.hx | 521 ++++++++++++++++++ .../TurnBasedRPG/source/ui/OptionsSubState.hx | 268 +++++++++ 34 files changed, 1150 insertions(+), 806 deletions(-) create mode 100644 Tutorials/TurnBasedRPG/assets/images/font.png create mode 100644 Tutorials/TurnBasedRPG/assets/images/small_button.png create mode 100644 Tutorials/TurnBasedRPG/assets/images/ui_section.png create mode 100644 Tutorials/TurnBasedRPG/assets/images/uiback.png delete mode 100644 Tutorials/TurnBasedRPG/source/CombatHUD.hx create mode 100644 Tutorials/TurnBasedRPG/source/LargeText.hx create mode 100644 Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx create mode 100644 Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx diff --git a/Tutorials/TurnBasedRPG/assets/data/room-001.json b/Tutorials/TurnBasedRPG/assets/data/room-001.json index b99e25a37..bcd4969e2 100644 --- a/Tutorials/TurnBasedRPG/assets/data/room-001.json +++ b/Tutorials/TurnBasedRPG/assets/data/room-001.json @@ -1,5 +1,5 @@ { - "ogmoVersion": "3.3.0", + "ogmoVersion": "3.4.0", "width": 640, "height": 480, "offsetX": 0, @@ -16,33 +16,35 @@ "gridCellsY": 30, "entities": [ {"name": "player", "id": 0, "_eid": "40117707", "x": 128, "y": 144, "originX": 0, "originY": 0}, - {"name": "coin", "id": 1, "_eid": "40304284", "x": 320, "y": 96, "originX": 0, "originY": 0}, - {"name": "coin", "id": 2, "_eid": "40304284", "x": 352, "y": 80, "originX": 0, "originY": 0}, - {"name": "coin", "id": 3, "_eid": "40304284", "x": 192, "y": 144, "originX": 0, "originY": 0}, - {"name": "coin", "id": 4, "_eid": "40304284", "x": 224, "y": 144, "originX": 0, "originY": 0}, - {"name": "coin", "id": 5, "_eid": "40304284", "x": 256, "y": 144, "originX": 0, "originY": 0}, - {"name": "coin", "id": 6, "_eid": "40304284", "x": 288, "y": 144, "originX": 0, "originY": 0}, - {"name": "coin", "id": 7, "_eid": "40304284", "x": 304, "y": 160, "originX": 0, "originY": 0}, - {"name": "coin", "id": 8, "_eid": "40304284", "x": 304, "y": 192, "originX": 0, "originY": 0}, - {"name": "coin", "id": 9, "_eid": "40304284", "x": 304, "y": 224, "originX": 0, "originY": 0}, - {"name": "coin", "id": 10, "_eid": "40304284", "x": 304, "y": 256, "originX": 0, "originY": 0}, - {"name": "coin", "id": 11, "_eid": "40304284", "x": 304, "y": 304, "originX": 0, "originY": 0}, - {"name": "coin", "id": 12, "_eid": "40304284", "x": 320, "y": 288, "originX": 0, "originY": 0}, - {"name": "coin", "id": 13, "_eid": "40304284", "x": 336, "y": 304, "originX": 0, "originY": 0}, - {"name": "coin", "id": 14, "_eid": "40304284", "x": 288, "y": 288, "originX": 0, "originY": 0}, - {"name": "coin", "id": 15, "_eid": "40304284", "x": 272, "y": 304, "originX": 0, "originY": 0}, - {"name": "coin", "id": 16, "_eid": "40304284", "x": 256, "y": 224, "originX": 0, "originY": 0}, - {"name": "coin", "id": 17, "_eid": "40304284", "x": 256, "y": 192, "originX": 0, "originY": 0}, - {"name": "coin", "id": 18, "_eid": "40304284", "x": 208, "y": 192, "originX": 0, "originY": 0}, - {"name": "coin", "id": 19, "_eid": "40304284", "x": 208, "y": 224, "originX": 0, "originY": 0}, - {"name": "enemy", "id": 20, "_eid": "40444291", "x": 304, "y": 112, "originX": 0, "originY": 0}, - {"name": "enemy", "id": 21, "_eid": "40444291", "x": 272, "y": 208, "originX": 0, "originY": 0}, - {"name": "boss", "id": 22, "_eid": "40444462", "x": 304, "y": 288, "originX": 0, "originY": 0} + {"name": "coin", "id": 1, "_eid": "40304284", "x": 416, "y": 48, "originX": 0, "originY": 0}, + {"name": "coin", "id": 2, "_eid": "40304284", "x": 496, "y": 48, "originX": 0, "originY": 0}, + {"name": "coin", "id": 3, "_eid": "40304284", "x": 192, "y": 136, "originX": 0, "originY": 0}, + {"name": "coin", "id": 4, "_eid": "40304284", "x": 240, "y": 136, "originX": 0, "originY": 0}, + {"name": "coin", "id": 5, "_eid": "40304284", "x": 288, "y": 136, "originX": 0, "originY": 0}, + {"name": "coin", "id": 6, "_eid": "40304284", "x": 336, "y": 136, "originX": 0, "originY": 0}, + {"name": "coin", "id": 7, "_eid": "40304284", "x": 392, "y": 176, "originX": 0, "originY": 0}, + {"name": "coin", "id": 8, "_eid": "40304284", "x": 392, "y": 224, "originX": 0, "originY": 0}, + {"name": "coin", "id": 9, "_eid": "40304284", "x": 392, "y": 272, "originX": 0, "originY": 0}, + {"name": "coin", "id": 10, "_eid": "40304284", "x": 392, "y": 320, "originX": 0, "originY": 0}, + {"name": "coin", "id": 11, "_eid": "40304284", "x": 336, "y": 400, "originX": 0, "originY": 0}, + {"name": "coin", "id": 12, "_eid": "40304284", "x": 368, "y": 368, "originX": 0, "originY": 0}, + {"name": "coin", "id": 13, "_eid": "40304284", "x": 400, "y": 400, "originX": 0, "originY": 0}, + {"name": "coin", "id": 14, "_eid": "40304284", "x": 304, "y": 368, "originX": 0, "originY": 0}, + {"name": "coin", "id": 15, "_eid": "40304284", "x": 272, "y": 400, "originX": 0, "originY": 0}, + {"name": "coin", "id": 16, "_eid": "40304284", "x": 304, "y": 256, "originX": 0, "originY": 0}, + {"name": "coin", "id": 17, "_eid": "40304284", "x": 304, "y": 224, "originX": 0, "originY": 0}, + {"name": "coin", "id": 18, "_eid": "40304284", "x": 240, "y": 224, "originX": 0, "originY": 0}, + {"name": "coin", "id": 19, "_eid": "40304284", "x": 240, "y": 256, "originX": 0, "originY": 0}, + {"name": "enemy", "id": 20, "_eid": "40444291", "x": 464, "y": 64, "originX": 0, "originY": 0}, + {"name": "enemy", "id": 21, "_eid": "40444291", "x": 272, "y": 240, "originX": 0, "originY": 0}, + {"name": "boss", "id": 22, "_eid": "40444462", "x": 336, "y": 384, "originX": 0, "originY": 0}, + {"name": "coin", "id": 23, "_eid": "40304284", "x": 496, "y": 80, "originX": 0, "originY": 0}, + {"name": "coin", "id": 24, "_eid": "40304284", "x": 416, "y": 80, "originX": 0, "originY": 0} ] }, { "name": "walls", - "_eid": "40116503", + "_eid": "02788814", "offsetX": 0, "offsetY": 0, "gridCellWidth": 16, @@ -50,7 +52,7 @@ "gridCellsX": 40, "gridCellsY": 30, "tileset": "tiles", - "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, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 1, 1, 1, 1, 1, 1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 2, 2, 2, 2, 2, 2, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], + "data": [16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 16, 16, 16, 16, 16, 21, 28, 28, 22, 28, 22, 22, 28, 22, 22, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 4, 9, 9, 9, 9, 9, 9, 9, 5, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 16, 16, 21, 7, 3, 1, 1, 1, 2, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 18, 18, 18, 18, 18, 18, 18, 19, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 3, 1, 1, 1, 1, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 28, 28, 28, 28, 22, 22, 28, 23, 16, 16, 16, 20, 16, 16, 16, 16, 16, 16, 24, 21, 7, 1, 1, 1, 2, 1, 1, 1, 2, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 4, 5, 9, 9, 9, 9, 9, 34, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 35, 7, 1, 1, 1, 1, 3, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 1, 1, 1, 32, 28, 28, 28, 22, 28, 28, 28, 28, 22, 28, 28, 33, 7, 1, 30, 26, 26, 26, 26, 26, 26, 27, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 1, 1, 1, 9, 9, 5, 9, 9, 9, 9, 9, 9, 9, 5, 9, 9, 8, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 12, 13, 13, 13, 13, 13, 14, 30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 31, 10, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 2, 1, 1, 23, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 21, 11, 1, 23, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 2, 1, 1, 23, 21, 28, 28, 28, 28, 28, 28, 28, 22, 22, 34, 35, 7, 1, 23, 16, 16, 16, 16, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 3, 1, 1, 1, 1, 1, 23, 21, 4, 9, 9, 9, 9, 9, 9, 9, 9, 32, 33, 7, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 25, 26, 26, 26, 26, 26, 26, 26, 27, 21, 7, 1, 1, 1, 2, 1, 1, 1, 1, 9, 9, 8, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 21, 7, 2, 1, 1, 1, 1, 1, 1, 1, 30, 31, 10, 1, 23, 16, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 16, 16, 16, 21, 7, 1, 1, 1, 1, 1, 1, 2, 1, 23, 21, 12, 14, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 21, 12, 14, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 17, 18, 18, 18, 18, 18, 18, 18, 35, 12, 14, 34, 19, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 22, 22, 22, 22, 29, 28, 28, 33, 12, 14, 32, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 21, 22, 22, 29, 28, 28, 28, 28, 33, 12, 14, 32, 23, 16, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 4, 9, 5, 9, 9, 9, 9, 9, 8, 1, 9, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1, 23, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 16, 16, 16, 16, 16, 16, 21, 11, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 21, 7, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 23, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 16, 21, 7, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16], "exportMode": 0, "arrayMode": 0 } diff --git a/Tutorials/TurnBasedRPG/assets/data/turnBasedRPG.ogmo b/Tutorials/TurnBasedRPG/assets/data/turnBasedRPG.ogmo index ee52ccbe6..b01766817 100644 --- a/Tutorials/TurnBasedRPG/assets/data/turnBasedRPG.ogmo +++ b/Tutorials/TurnBasedRPG/assets/data/turnBasedRPG.ogmo @@ -1,6 +1,6 @@ { "name": "HaxeFlixel Tutorial", - "ogmoVersion": "3.3.0", + "ogmoVersion": "3.4.0", "levelPaths": ["."], "backgroundColor": "#282c34ff", "gridColor": "#3c4049cc", @@ -29,7 +29,7 @@ "definition": "tile", "name": "walls", "gridSize": {"x": 16, "y": 16}, - "exportID": "40116503", + "exportID": "02788814", "exportMode": 0, "arrayMode": 0, "defaultTileset": "tiles" @@ -54,7 +54,7 @@ {"x": 1, "y": 1} ] }, - "color": "#ff0000ff", + "color": "#00e3ffff", "tileX": false, "tileY": false, "tileSize": {"x": 16, "y": 16}, @@ -162,7 +162,7 @@ {"x": 1, "y": 1} ] }, - "color": "#00e3ffff", + "color": "#ff0000ff", "tileX": false, "tileY": false, "tileSize": {"x": 16, "y": 16}, @@ -182,6 +182,6 @@ } ], "tilesets": [ - {"label": "tiles", "path": "../images/tiles.png", "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAQCAYAAABQrvyxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODRBQjNDODZENDhCMTFFMzk5N0RDMzAxQTc5NEM5RkMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODRBQjNDODdENDhCMTFFMzk5N0RDMzAxQTc5NEM5RkMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NEFCM0M4NEQ0OEIxMUUzOTk3REMzMDFBNzk0QzlGQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NEFCM0M4NUQ0OEIxMUUzOTk3REMzMDFBNzk0QzlGQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrOLMN8AAACUSURBVHja7JWhDoAgEEBPRrERbVYCX+If8Z8Eqo2IyYi7wOYYTncYuI3XD94bDKaUErSwWZtWY0izu3NAnc3zEhpBAVyIQvAeWuKPEEAAQ7I8IjjLswso5RHZq2iNUp7lFRoBI2AEQN+vEL5A+EM/MSvV7wm8ySNnjH0GfJGvRQhu8mWE/GPz2g/5hUVrkvw94hJgALO2Vr1s43dIAAAAAElFTkSuQmCC", "tileWidth": 16, "tileHeight": 16, "tileSeparationX": 0, "tileSeparationY": 0} + {"label": "tiles", "path": "../images/tiles.png", "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAACQCAMAAACPiZ3DAAAABGdBTUEAALGOfPtRkwAAAFRQTFRFAAAAqrfM/udh/q40/smc5O35af/UdeP/0XbQAJnbWmmIm0yj/3BtJZVq4Zpl6EU3Q+Gz////98KCz4JUvWxKUmB8wMvcJitEdjs26qVsi5u0PyYxhk+Z/gAAABx0Uk5TAP///////////////////////////////////6l3rVEAAAMZSURBVGiB7ZdbcusgDED90R0QkwTvf5+XNxKSLMBJm2mvpmMHDAch9KDb1slzUvr5bwB8fb0CYFCXtTY+wmtpC7MAvLwxKxoYA3+a0FwGgH0s2iDPNCYqsg7Isg4ID6/CFMBcBRANprZQPTpbz6STmdOACYuFLXQAo0i/gDHYqX4bIPeh1jiAGjjmolFA6zH1IQIMBaCVzRNkoRVA3sAMgJk/p8GPA07mvweAvn8eoA+mHviZADJABYBLB1vOxfgYBJwK2cIKIBCKDsuAqxq0hLMGaDr82BbGAayjzdiAc3XYXgRMGFHV4H63bljs/Y7G+3YBIEqPtGACA3Dh1hUfRVADtl0AgK8uAvYJCQDcfpkN5gC2tTe0J02KDVxrf7YNqG8ggFVtQH0D+YH7PBsM2OIkFpgIYGzxllh4XJT/gL8COIpMAw5RxgB1eHZ8nnAKcCiWWnkZBlgeYCcBew7+fQUQJxZAySLfCjiOPqWkXgZAfSUNTYsXcU4CMC4yC3jcbg8R0MwgA25eGMCQDXyHCLBg+eQDBHAkgLgFfIwLRlQBaaJ0jLoNxGwBATkuBUCyXviTAa74wymA00D3gwI43cIFG4z4gZBx5/zgfYDns6bi+A/GKcDfhgiACgG0EPA24gBdXeCjUdBgJK2XRf3qNJhm6oIHoB3UykTqAqlMaZ7vJYDej7PwACrHzgP2wershb9toiFbsL2t1r9JqLg092GLp08MCCVk2wy40QVGAaJUwONBUwolsYBqAw0gaSDfwAYB12Tjj7pJnw/69gbznQPpu6TzNp6VBsBeC+8D5J6I2gIA1oE+nOHbAzQbqIC281oAuzrQ5wPYTluQ9Y+xz/en9ysAug3OvxI/yMdXzZHTeBzV/C800hdyjOX82zECQAjHkh4kQP/uC0lLDxmg26ACunyQAbofdBr0AP0Y3w0Ir91xuw++SquxBMD5ILYnAUj79GMU4HYJsLtxAGuDQUCJ8OwHwBEmbED1/26A5geweuEL34AfxNTOyqAflCxM60JMabofKGld9wMVoPmBUhf0Y1TS+lXAP2vxLx2XEutMAAAAAElFTkSuQmCC", "tileWidth": 16, "tileHeight": 16, "tileSeparationX": 0, "tileSeparationY": 0, "tileMarginX": 0, "tileMarginY": 0} ] } \ No newline at end of file diff --git a/Tutorials/TurnBasedRPG/assets/images/boss.png b/Tutorials/TurnBasedRPG/assets/images/boss.png index 5e346d49f2e9df306a3c2d15373cf0a884795814..5e529eeee74e3459ad0e4483725756f5d3aaecd1 100644 GIT binary patch literal 1322 zcmV+_1=aeAP)Px(t-cB^JF~5%t!iQ0S#+|A+s=b14Xg9=#={ zsP~q}OYkZL!HcJ;NP6i@CvV@Ic{8(XYncxM$zOvC&v_83@95acYqX5o-w73EQI2ezj_;?)gw|D|6X)IPdoryNMbqNSz(C*^= z_6D0v%iey}=lu3Y{J+H;o|^!UgYgJQiz_B>05jZD?bD;orzi!+3gA=J+VzFlemNY@i3#cy;BvbKuU%h63E;63n&5AF1sDhDU_8R0-JSNQ1R8fP z2JLQTkTm|#sVPkYm%rsU)&)rbfwx-)P+X`^&cC^|j8~^$008~e|IW#t*oWHh-+%Y=&szla*S9gbI>f^91{RJt zFu6KJe|>xA^s`QXey7_x*%L)b?Upqb??VFs09zk^V(Y_C@js2fGJ_-m68I6I*wCGi zu2D3&_wTBOo+et@HlhFz1!NK z$s^T5oa!kSBVf9cR%ReyQS*L20dy^K2cE}=_$}aZ#HsF;s5t9p)rDoR6vOWxEaH%I zG*SO_fV7Ps9YIdQ+d~^ljb9r~cf%~r9xK1Lk>(q6t^UdYNf$b8{UQAy5@1~~S@MVY z>!@GcYCJWx$ETLKn5Ukh=SLD6PY~jgpz-HE>rSbEUP>Bji;1!Jjme+VH?{sJwSAgK z@x?rG#TR2JzF1~l@x>GrU(7-A#gx9q7YiW97X!l1jF11X`(l7iK&meW7@V2$DBTyU zTLATO^H>Db;fqnOn3$k1R=0qVb>qA4rTAh%*jn<%M)_huz5qaRZvz5SeK8>H%wYGE z$}i5KCIv`q4T}JZ4c#~-ev7rF@p~VbQ5%tK==>I-@wn{-zQ*ziusqfc@$bESA=ch| zc=YlIeK9JMAbDfCzL>=8^TtwqF~IJPMf+kvoHv%@i&4=bZ!E_b19WdJ+ZUsvrSDp7 ztS?3axQJX|jCeI`sWx9s6OikR`2-YStoUNp;)^fl5m0=w1QcJ)!zH2kV#OExJ1D-G zC$9Kn48<4Aj4QsFg5rxgD887|_bGj`d1)uSxwIU0iXDtc*j!pxcf`E-Tu59^@&6OP zm<2h$SPp;Xd64gcStvn_ZxxG}m^%5zw|$xvV6|>iW9#Ox3{cYofV9&fCZZcSFy2m^9SD-i%k&wzL*8M?~CQ|R|cpl0Ws^65Hw$`34XILmYN{O7fay=;(Rd+ zugkA4)nleLcOKjX^j*r4dO&=Gl)|qK4v^rBNvOjY(@=b|;)_*_FTR*ZK=H*AP<$~D gmxSVrJtJT27t@?sS|lOiE&u=k07*qoM6N<$f`CGbL;wH) literal 2558 zcmaJ@c|4SB8y+0TR#}tE@|u>DWX3RtS&T4)DWeFH$e4MViCLPN%vdWbkt|1+lWcA3 ztBe-gAw#yqQ3z#Haau_-C|N(>=%n-g@%6pG_kEw`cU{+g-_L#h@g(kcb6%;sP89-y ztR%S*JY-{N(kryQfLu}T0tBH zq5x%h`tW_ot{5tt38O4wU_vHG#)d#}c0vw?8Vd4(ATWf%vW1RSi=hC6W((bGMK&jM z96>t6C6Wv7iFEU%Mut++G^iaOzzH!j0Vc?&077OMi-!@~Lci)_Wb>tMI28B_;fLBn z|4zz>yc=+2b3wogW@$z>M<4(c3Wh*hp-_lzfQ3220&XsQQDz7v#tMb8um-+8P+2rC zEg0iLaQYTYwz7rN`Fsur4i^XnFo7kE%?*Jg&}j6MhJ}Th3}MELVDTwJGZt^dvH}6* zQMn8bpTTAUONx{r_F=v)RF>)AB``VPWm&v$$0R#2xRAnuBVguBB`pKVt=ju&_iCozO&UBocujTG}8T5Kd^M z6~f7yfHrqTE^`TN>R~3x;xBV)|8VVp$X&7mlOu~v0J)5Ckmkf?Gl8!qV;Dcq#rlVO z-?+3N=VJ3iE?kxje5tYj)#&9dnR}L|-)$>fd^bMGlDVBLv-NNWxEBKXnM)$rdkUX^ z@b#zfC+gs>TZ8WmKjOb~x|8X|yh<#BYMus)wp=ZoPEfHwcfrR91&=eq>s@YgconbL zv}Q7}E^vFCSyB_;XWsFrYkE7Pw~!KhJnwYfkZf*zj=Xj6p|zmH23sWIMc5$uuI1e?n`)`;#T5Pf>v0HtIp4P(TZ)P90m$uR#J#G;@TT8;Q{T(qZJ#C}o zN8i-NW4%~AK3)u^6-uvHJa2vSXs|o z+=--;yNL&j%=0b{yopE6N=tGUtInV!7KE04sj-cz+y30waAT-Q&g(=W zeK<4VGc0pQ*Wh3w7@VDAH~q{+N2Xzp(K5v&CGxRhh^ZKG!#{oWDM6T&k$t znO&7JOC88eemAqTiRTrhMJAJPl3+uD6IC;*rYbI_6ZhBO=5EhoWZYG#PZ(=E(GuyU zI6HMwFkI4-@2xse4(~i#Ml6paRu>m1e7bcdXZl!Qw&JL#g}ZwVEM^L>e4+hZrEaAM zZ6m6-Xj+uAY7h0&xp3Pa|J`SDqFwWi@N0`^o^9HNQ^A#{M-TdLJ+XK7(9~PZT=N4> zOhwLydDK8ZasH+vXKK>@^D1$1NVb|@*h{I466xR_zg08Htjh$X>)COUVH`nMe@C|d%Rf4<0P0efWaOkc%CDzZX)6&eT9{ji1)Ke8yYFM zvmMV7$Fw7^Va?i#`&{z-%3ZKm_dPgLQgt^fC$!0F%KDu60#@JidX}qC-f=g=8U?Cm zGW_I#=aG2aCA?aw^?g7wrQQFm$3}SyaCL`keiuJ3rCLMEiBvO4K9Cmal(wn6VQU{| z7_lnKG2>_*WkA{BS2|314V#~i!AwrCyBGH%cV++V`15wu3~Srz6}M~t)rnW_-yC4~ zFu+=u+oaHs?x(*~H*L%fbapQD9hO(w+H5@QTeefvM(s6GetYLhv!>evjSZ5VHKY?| z(<-NmlmpY!-{C*H-@}-I>GS)VKh)mM02ju6Lw4mXt|yuQCJwb2A9Cz%)~^&y+<(>G zd+p|d(PQno0ne%jhr-Gatex8NOy#NR(POTD zKD+X^VT2g8gUyC=oRlvwP*TN!y*RJVj?7<9Eq?0O?ii~G*G_GFAaMU3Z*YL4 zee-ne$o?DfQ-R#tE}CN-`bA%qjz*>d`^AvsTa%O; zsS`hGZd98}7C$ceLy74YXjiYIGt#5|We5H*%*oI86((LMwJ%e{C3_wPo{yClp25es zA}A|jpO{{LAEb3F@A*_}n_R4<#U^>QG(?rdF?4~%#J+x0Riv<5Oc>e7vjM06vR II0VN12O&aA>;M1& diff --git a/Tutorials/TurnBasedRPG/assets/images/button.png b/Tutorials/TurnBasedRPG/assets/images/button.png index 32f436866d770b6f75c17c62f820cfcea2181111..3a7dd92bab6a9a4a397c116f5af6d574890187dc 100644 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^0YGfS!3HEhs@wJeDaPU;cPEB*=VV?2+1#Ekjv*Cu z-rhdDw%I^{;o(-DaC>-RE)#dtU* z1*$5!?CoQ}$h~*SICFY}UKDy!riZ;y=!{TQ|A5T#0f&Z=_qU)Ku!kn$=fMLYo>FVdQ&MBb@07vDrmtI&0Iqs;#vxT2ydZa@vJ0IWaji-9!;l zhOdH(`XZP#cRhwd zhhr?IWOF!|*vLyr^@ujcQ&e@rCSvtPU6fiN22HS_Xd&wJtveJ@Z0S{B_4+NMRz$_L4W?W@>qVfM@H#$U~86hMecqLTn@!S%s)(jCG!- zEz9y)J`XYqG{bS6t--Qxf^eJd8WxLg&0JVg5TGd;ijEbe0b5aQLTxxikxYLdLDffP zHFKm)q+oPW)M>`!wU1N+CKCULs_H1(#A)~^-+v05*>)Y$X=tK0Ln4jKFSJAHe8hkv zMn)E))>0Ky%?Km28R;OB34mo=6-`E#=^Dl-5`0`Uv8YKfE`%te;87Hr=a_J8ZLN7M|mH%+rvRvB=s!k#c&`@?mIc6Xg3?G?S z%I3nx%Ib}9cQCQ$Oa;zdNVGncCm?w!bFRf4SoPft%eMx-Z?Y?%R2`^2YSLKQsG!Tu-m= z*uMF^+4Z*D{SK_D=)Lb62oCVk7I*Udp01hFk^Ou7=C3+;VLA77%(T;vp``NqSdS}P gzkU3hC$3Eum5%Cf*3!K1du`)^U!Li83IG5A diff --git a/Tutorials/TurnBasedRPG/assets/images/coin.png b/Tutorials/TurnBasedRPG/assets/images/coin.png index 2a5820aa8e0d6e2aabfd02cccf2333835cf20150..5ea4008ab4bff29779151b277b0797d3cd720b74 100644 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^5+?yq$PUj_LsE8RT7GK~!uG;1;H#r1IpfedfUHx3vIVCg!01QD(wg3PC literal 984 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 diff --git a/Tutorials/TurnBasedRPG/assets/images/font.png b/Tutorials/TurnBasedRPG/assets/images/font.png new file mode 100644 index 0000000000000000000000000000000000000000..84e2038b8a313655b67e60541d308c78d4bf045e GIT binary patch literal 512 zcmV+b0{{JqP)Px$x=BPqR9J=WSjmpVFbD-H|NqO(C5bTG!;aI@jLN00SssgxshNmKM1(vsGiSV; zU+5DNF%gyeg)Y)>`Ka_Ge+NFovbGFvh^0y6B3~kY5$n@hyxlOTN)7aL`G$Tv;#r#jXOPQeEblBN2QoIFobW;! zWqaURI-Ia14Gw|?+5hZI68OjChz)6v3{EO_Z z=<5c#cZuM3gUbp40000v05=k7myg5&Xn z%RTEj^OWt*-Y`kbaJk;YGr=_RYKO1!E;TkFU|4m+R^($o>ja>a7(8A5T-G@yGywp9 CUQ1;F literal 984 zcmaJ=U2D@&7>-P28;ptIg+t_!%22RLPTOQQG^<_Hy2vt0TUoE9X>zuPE;%tdHR%wn zvYX*A*q!XgJO6;-7rRgpl;MSV;UDnAOK*gE(zTrz){x|U@I24^p7(vuUS<9E-0Z?E z!!UE&s#>Mvbo@=9qyNMCS5N71iIf_ohBrxQ_=qW3xP^e`7+a`{46Aql1IjVX6l>QT zq@l0LCU!U@#&D72Q8vTm@{wnl9YjD2ZP~8E{(SkG1-7NI8=@}gUJ6SJm<`7F{W9n-EXt`7jK*FwJ3qi-*~4 zHr7a`k`$2)dM+`dq#Gng3MvXr-}Z=&T@Wi8E!-svOEWz=g5!;4-C$TIS};B`JRWjF ze54Uj*Z&W7oH05eRdkx~KZS#O&qI6_1-R>*v~in>IFu(BePj^q*D>B6Rk6~>1P5*G zfnrSp*EVd|!eMZIfY)_da|2?yCel=er3##FTQU@cQb~YIs#wlISV|Ytu&|OTt0keJ zs$xbMaaC+~9psV`*E;3ioXCx>;CM8$ihTP4vdTVoz~IQTJvkR~qTY~eP0mG{$mMA= zeB9W-8a>*g?un;k+tS6@_{gPh_o=P>i7!cdCDt^xP>;T~ejgv_r_T3hKy&xVTTWEo z9^XAUYTo<$<9Tyo|I@qv+2)1!{k_KwxN|1)(Y2V1=I(y~V0v+8@!5Cl)~_pT40ywQ WKD_+!@X`F$_^xTCb@jzc^T{7M9W+A# diff --git a/Tutorials/TurnBasedRPG/assets/images/player.png b/Tutorials/TurnBasedRPG/assets/images/player.png index 6bb1e9addf6398724d022a0636c873bf0176e6e6..e786ae632db495dd88c84f62a8001cd3dcef3634 100644 GIT binary patch literal 1289 zcmV+k1@`)hP)Px(!%0LzRCt{2n?GndeeLpLYMed}$nqfeug+0Ybf9HLQh4A%M$!ap?zZ z+eUrOTEkd$R07!iUEXR9?*SU6048sM>z{n)<$v(kpXq0{hIN2OA%Mx>x9>ux4CAH( z08gJh&Q;{<%*;FARg@>djazp!E7ey|pFHNqt-IczbviddLZcGEq(*&>QnSsYo0qu# z`Ii8+k}3cnZf~-)y~*D07T1$12MZOW&zLJfp3g4HtFuvGqq9~#iAk696&x79HDU#ac!@9q}QAKZiA zzd5~lXM#_^|CKAXJ<7?f)qh;R*slPxcd6M1;PBZC%ANtm zMb97Hqx{7$09OC;eh1Kb%kl{ztJG{~YN+4YwDQMW0DitRVQi!Nj|BzLEKk|P<*f@K zLfEA9^6@`j-{5$CBbWb}?xIN{0rtDo{Qc37?02U*S*S2sUp&{w6kxKx$jL$_%72ukIw1DK1SFQkq zlJ$3xtk3}RjHP{w0-u-L=bnh$S4f>xb z@@{OpU$^_J{>B2biI6CyyJibu3*i&M)Oq>erY+yKT21XTKNM}VEYI+X<(eyiX|T%4 ztkFYVUA8}j)zxGQtoFgx&g;O;^ysONlF7^Ft?QiY`@H_9`+V9B&5^6?k?EyI5z2MI zrPH7~9yKJo(6b-8SOMOy8bkAvF0w}CVxInyi&?xOaxtrasTaNsIr$xtLD?0=O8s(b8cE7YhyGgMOR=q@&XiE(UHkmYa(?11N`DAzVxZaG|AM zxfuAdv7WgY^d7*6i-A5sC>H}enJJ8mi2y)`jfHYC(ODZC3*};}pD%aw;$k{OZGZqS z<_a({LT@i@8(;7wg489iV;(7**xs zVj+rLOmja(E*801Q{+00000NkvXXu0mjf^S*`0 literal 1876 zcmaJ?c~BE~7!8MjcmV1s2!u5tp5%fgWF>@zAOsDj0R=pekgO6R*|=HQh{hU&M+Brp z6-N#)L_EeL)}m1k1&^rHdX2@(AcDuJgFVu5Z{w11TD?C$TF_ult?zwhm=Q5+XN z&ULCQfj}51j1fri@dx~IcX7hsfA#dF;)53&m4wE_t58geKm?u~PJ;lUQo0(FKvMa- zwKt(K0>Oc#NJv7HL<>O~tRzcq7_wHW#@Pfy7+0&7$}%7nNP|`@R2)**rFs&ekaI|h z3=vhNj)c+`F*yhnpA(lL%gK*B0Zb;D7Q$dMX>$QOl}4vf@tYY$3jrBSkj?_WTqHai zB3}hc1oOYd!dDzpI*O`63I)S3G8RmRk<}C$o6WXq(CI-qB1p4Ng-W$SDvkfJf&kLU z5QQ35z$(C|C{2U2P!0*t^m7SH^;cPy=F2hR2S(9K)f5_;YAb0NC=&fYRH^)m)}RvT zTfYA(tVvj>hA0w917{&Jym71iZK2d)BmzlM7)gNP%;8fMr^6_$Nr%-yWIPj?nW#|7 zVN5gY6J8_&g(?jyRmmWsfJ4F+$O?rVq%qi`^w3Cl6e~EAMvDq&Gnp(lBP4{zr&IZ? z`HW$%0G4GbAr(5zm4D;%M&#P8pj6|L1rVahhUD`RSP6V88B~m%3u{EZFI@S^xrC0$ zrQpd>Y>oX_qldR}_t>UiZHq6y8Xr>OZbxuiZ<=Tb#J?7cP{2#jKJG}a%}C(6x9WTX zOBw{D4~qj_iL61)H2@-WNquYYX6{jxabnrz6u zzWUV7s}T4Eu9;FQSzdm_}mbE@4(wLRq?k?T6T7PEu(L{@w)es4+nax z9-kjYi|W_2CcJ8RKFykmByX=YXWu+~;p8o5-Oy-+PbNN(vfoE^A#fWXJ03y~E1>1Vo{O!Zxj3$}D2J$*4AVBf{J%I<(?yqKYaD~7J<8{< z&AW}P>Vq{){7$~PfZh%FRVzbJ7Be=TYB@yDfJ;^5yVH-kVDmpuEwb%{o45On_e~ zA%C#&vUg{&&UbK6DAd@QakZcLV5+V@VyCg2+tiz~W6QZx@`{cdNWR+!E>+k0$~Y9< rIghe}t+LLYM;v1ha81U0I3nbc_0jxbkn$tngV-(JHNY`d)+TR6{ghoNUxY1Ld* z9OCnKis2JKWNePh&n2PlG%y9Lc+Cq``2F=82s~GXD_K)CLk-uxg?5CO+e? ztI)kG);;OA-?r?~Z+slEZjV@77vIu08wsnV7p&yVlkM%}Y}WKEpZE6S#2I<{>*=FU zmiR)#t)J!7&mPvEe>-$-ad`8+umdM|?&`NEwz%>8!(T_s+=J2b)l092K1}ZZ9)A3B a%Dgqi$@QbB#@~&5>CBakC4IAa{mvg~_&6#6 diff --git a/Tutorials/TurnBasedRPG/assets/images/small_button.png b/Tutorials/TurnBasedRPG/assets/images/small_button.png new file mode 100644 index 0000000000000000000000000000000000000000..bd39131e91e54ada1e61995be5e3aa6f077201b8 GIT binary patch literal 248 zcmVPx#vPnciR9J=W*vk#WAP@x5S<4O32Gj#Z($CTcC2S6s5xJsCf|Z?rz#X~-;sTcd0000hx=?fGf{)OF+k(RR=PncG@vh?`8K|8Q+3 zm1^OdW#~mWL*cXk|Nr;Gg3p3fy=+QSV0^&K+$JkTb~`rerEH6vv_B>>hEJLP0000S zbW%=J0RR90|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0sdueW0009SNklGZvcFKy#ioRm$f!N!fR;@ zvjDujF)JDv1Am&(Tn2!BEZQK?G$tyt4#=_&2oJBq6u?{s5DlibP(3_B0Nj3= z4dwv0wKudUO^OX%Yk#&4sBa*ERc%0h1NnjbJR1zy;v^QB2w-gSmRNXPl>dOg0yv6H z0}fHf0CjkFe4cO$a442qc^L*+9$+T{dk+461rR3|K*=KC3OJ5FrKDa4Kz$_*O^X+C zP69A4G7EUzZVwUA%pe19UKqfT4Sa_PuweP*0|am+fVc&Gj0;9o0coOijJgfPYykl| zE(JicUigy%uK2?#fYU(tg913+!UY?Q_<@jd=ltM(fakNO;`k57DZt-`2!IL!v=Hz% z;s9M;;GoP`^I8DAI?(3>*iKuJ z^^dX7_ow$O0J;s%zY;&l$5+jf(|8=!{4X@p7jlf{{M#`CKnTZ@9wb2j?h8pv4;i4_ zpaQylkO8_MbQ<&k{TSa32(R67yAQrftFZ*Y`5?9@0Z9AwV-(q1Ovx*sTMUH1bOp!tDP7xZIP()v}v YKWp(X9hVa8OaK4?07*qoM6N<$f-r!}OaK4? literal 1056 zcmaJ=U1-x#7|nDHoz8UwVNTGHy-c)C)BlFnwM|-Eu(fn$t0K58xobn0+?d?iZYYQ- zOmv7cpG3tM9~3rcMTGhHI>bj2_uybMpMhXI*TggnRqK^i~100IQD zoszRTluI6GMX1;W6JskY8fFtjps%b6Vi6#6802L&NUhGlp-5Q@QiJZKJ*jb^AjcgDnTC4P6$`&25?@Hz24Oq&AbvCDSAabwIjp zPOE5V7}DdhF)p{q!yF+UcE&;5@$0cNF4pZ~9bU5fP&k?{jj$O$R*i*ML8^d|#?o}D zRI-(vHmK)m#_#u=8V-jQBdo@_iiEONHF|0aJTOFE){qQU(o__N;TQ^1IMdA|C|X@s zHL7L81*6M?Ml&|Md88UJnfyOgQR-*|Wx!Ux{}eW|;~Jndz<^`Ah#NQ3V}{aLP6q;l zdKSXbS{2g;h@eq`8p-v0$lgI&m0-y@w1H11*@S8!K@~xQ4^mjcCd(4*bA=;L&gbD> zz6iraoqoTU=bUyX?De}ie~hbfc_@x4Kt(mKw8ix{&Z= diff --git a/Tutorials/TurnBasedRPG/assets/images/ui_section.png b/Tutorials/TurnBasedRPG/assets/images/ui_section.png new file mode 100644 index 0000000000000000000000000000000000000000..d69ffec7d5cf5a68aca9cee31f4ef5d7f260b35b GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}^E_P~LoyoQ z-aN?J>>%K9G4iql*G;8u9U`0NX1H%`ztO*w`(pEn@vihP z<#(&seR#d|_Uoq_58km=HEeFXRkg6);_=5U|L~3}_6Lj^y!Se7{W{4iVdiqvQU{k$ zqFn|J=?rHXW-*#DXRux1Ss>|P+>izp@c93+@VdOrhAY}4i45l%ZY3VL8@Ks(<-WqL W%6Dql{G9=GDTAl0pUXO@geCygKwQQE literal 0 HcmV?d00001 diff --git a/Tutorials/TurnBasedRPG/assets/images/uiback.png b/Tutorials/TurnBasedRPG/assets/images/uiback.png new file mode 100644 index 0000000000000000000000000000000000000000..864106cf001151e660b2d3d6d6de1e5657693312 GIT binary patch literal 279 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 z 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 Nf(H^j@c-k1{{!xISp@(9 literal 23978 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 diff --git a/Tutorials/TurnBasedRPG/assets/sounds/combat.wav b/Tutorials/TurnBasedRPG/assets/sounds/combat.wav index ec0cc74e4c23a43fc20736308dcf409a620a7411..135ff3d8a56916b1b7dca53bdaa2086b75fa54fd 100644 GIT binary patch literal 107302 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 literal 39300 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 diff --git a/Tutorials/TurnBasedRPG/assets/sounds/fled.wav b/Tutorials/TurnBasedRPG/assets/sounds/fled.wav index ccd9497a3920928601de7c8fd537823fd7982fa1..862d8d3fedcb1a7d269dbc21132dfd4aaa9032fa 100644 GIT binary patch literal 47686 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 diff --git a/Tutorials/TurnBasedRPG/assets/sounds/hurt.wav b/Tutorials/TurnBasedRPG/assets/sounds/hurt.wav index 54491328db36fe2d0a9a753232a845f26ba10fb3..5c09f1165a02ba5ae5e3ec365cf244b61c1b2de2 100644 GIT binary patch literal 14125 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 literal 20012 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 Rf$ux;eFwhp!2jmr+9Ut~ diff --git a/Tutorials/TurnBasedRPG/assets/sounds/lose.wav b/Tutorials/TurnBasedRPG/assets/sounds/lose.wav index c543d5ec90c631ad905a620b24f6bec7d1a2a5bf..9d83705e517092e90bc161f3a189ed061f2656d1 100644 GIT binary patch literal 71533 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 literal 33516 zcmZVHWmwf)xA$?d6-7i+=~B8wIu$WcvBmE0ZpH5I*mf&+&@D(W8UzFs1Y1!op6}eC zXP@)@KQHb#`?~hM7i+CK=9s@R*MOegyO*z%k{aSM*k{tr1zK`aQc}|Jz9uELd8o8h z6Dc{V31b(Gjo_b=lKSHI#Vs&2F!XG{v;B%nib^{8cktIr)Jps@{KxPf_j=sx>)h8l zGFL+-t^)dBPxS?>vKg2&|qSi#Mg}oN` zT5(~;h3|3S0it?5D7w2F6dH3gCzf`}}-4}OX)Vij1?a1vTx8>vH5nom zW?s}AsyFo1)l*mBUwnV@JAMuMHDv7Lv5!sen%w z`d{jQDfUk6ozG66owmepiC=PQ$)$qeg5XI5CJmU3Q?aLFC+khtyEypbU=>Fd$Ik(u z1KRtw_uH(wSu-RxB-P)}-%e(T%#f6@l(4O-TT{E#bg9{Fz1h0GUVA;u%a)fn$8C;t z4s#B>`snJT#NfnW%XG{18JA~VmJXE;P1H-&^EL4`8FORIjm+nn&)o*Q4OZ%|)ct+x z`_$godS6>_wce`K3|C686r~rX_rKczs&0SX{x9#pyf3RFtDR{B`sZ_Grm0mLj%@{NeS=Y0!&&ivU=RL@K z(BpoO`=wt=zao2G_PW|2wLxy4Zl0^kSCyYGJYD!{;HQCAFf}nX+0uVY|FgZ%_HOFi z)K~M7=A-KauMb??ZEd&Uw!v*PA~GV>x~p{`IdJ4ar*Nn6`#$%5OkGS}1`Hf9Q2e`# zJ&Qd<+(X=7xV&(Ae(U+IfBgUP&y3298hCHuy{gKp$}uKmOzs5V3EokM^L+DB_M_|_?HuiT-tKw(q}EBTz<|JjF=k`TE`?nR zt1+lCunw>exb1S=WrfoUr{u`w$RXxK%%uXP0(Q9Xa96snbX^-yVxPn=Nn4V3^ybl< z>Y?hPBkzyAzc+es^zGE!sX^&M>FTEHra8qq#a%yi{cz&?iR%k37FtC0jp}>X>8_K_ zO`Dsk6{!{a1M~-ULa~3be~SSv2Do^;c*oVo)xPZivi~>JZ>Ihl{u)j5-NvBk0Vk@b<&il!9}P8ggpJZyMa@ZI3MH*eg$u_bd$X3UM48>u*d z_x#<%K8JmJ8uc`KUG%zWeeL?%PyIgitHe>8qc#`QFQ!Y3Bu2`9%6>Bg zbnj7Gd|LeGew+IRCj}?nesKFi@txv3O|qM0Z|J(At9P__bnMO8o2htF^P;Ad=l#w1 zH>)hFEH*f7aA@Mv#N~F%?Ua~rG2gZoY%4HyHFSOA|HQwrdtvv$TYTT4s`(*b?5?qp84yGSW zmnoAeJCJZ7VPBtpeJ=LC*xT2`*JJnX-M7VSHlojnKK`h)ud~0_`C4bQK4yJ%&|J5< zZreU>`$!==BRXTs>nX3F_kP|x6X&bXS3CJS`EJqOqIIFD**|kIb1*yWan|F?!z&Lf?o`}48-6yt*s|C%{ZaZO6^V)@ zwlubMR_d(Ock1udtDLKxlN^#9hJ*|WSx~f~NL@u;CEhFE>vY2Dgx_Jm!>ZD&(gO?w z44Zaq+U=muK^@b_rjI9tO$gJC){Tx!k4yh?_s8A0p>IQ76I>J2^3?LY4ZRIFblTAA zWX8#idw%!)E<>@0Vvp(7)2lc5ZSWhRJ3_b2xy(7(H`v$B#?59|_^$8;aSP(y4crZm zW*^P|+3{z`2TvY6`F-#Az1AkJO

`bXIt(@YM9a>3xSvhsqOPC%hyDk^=Gh=@H)} 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 G_!bx@$9?hu diff --git a/Tutorials/TurnBasedRPG/assets/sounds/miss.wav b/Tutorials/TurnBasedRPG/assets/sounds/miss.wav index 55a36b62362679aef7337e423afc39cd15e10784..95d0a2da1402b44e52a02e00bfbc812bc405aee8 100644 GIT binary patch literal 31789 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 literal 24158 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�K0$qg!&ry0_dnnNto2drBkMiu{kM^CBR7X{4lf#7G{hO?46Yi0 z{#E_E`gZjd^cM8?_w@Hf0qLJ*Z)I--;abj| zz%_3_!s715-S6R-o?m+8u&;Mt?+Co=d)4RM@7(_#E(}~4pbSz5^@sF_a$)cA-eKPn z-x0F*c;Nkk_cuP=_|W#T?IUT7x2tVeJFazH>xS+P-Khps4OEO&jAD#qj7LmHOomN| zO<$V5G^3bP%$LIwumCbI`e^#mR2}+^`;0FeT{ik|@ZA8R9eomiE7U5~Qqxe=$efxv zl{Ses>D#AopM2i=yn8nEY-rTrsKJr`k^Z$X2a@30z_kI*A?o)mXz=gRRZh?$zzpU23q@;F8fLql+dNO@1@`%}muo)#9AxIm;%iCabA7Q*G32 z)oeT92IU6D%FfE}7zh9bPhQ1BY3(S+pKl>$uiY3Pw&wPSarJ|A=&obTS3f@a={PK<0iO4jm3&aK!$IeHJx~ z+H2QKPRq`N;z3zpyTEpr%`Tgp);FyMRsyScmhUV%aKYk&#TWB0=0|`EJ!U;-rBDT9 z&BvNYLK5&ScosEq(ek3@e5?6ZbZfe`x{bQcM`*Wgw z#wf>8j_I(*X^qol`egbIFkl!kjzbGDm<;9`xCGB279PVXSOOMM&M0T>0S&lGzln&U zKK+!_DW@UFA;)NVL3=^_;qb#@Cfu{XXWvWhrFz0yyR&vplqT#r@}WGneTo^ou`OAP zVL+*Msr5;i3C=)rzL+orjzSUG+SuA$fXTL#ZT|uriVYUs^vtg6{CVO)S zbF#$iu!FXPX5wh#m<@}a79(qa*y&IDpY%zLNsOZ~0*jf8Noommvh!r;>2MqpfD9r! zVE}re4g_!u)&LD!nXNy|3Ck-?IYZ7^34QcF`ZgGJ8gyC>wT`uj07N*Z(b8ykaM|Iq z!x#H6_N$?ST0sp4q(a(xLN+CvG7Va6TWpU26W-dqB`N4O$6z(ghk5WDklc=cp%%<+ z&1}~}4p>qwDQDm-Y_r>D*AE-08>oY@%YK*rXE@|=$YDHfJna~acO36{1irvlr>#!S zFr7Y~o(MV&9qd-xK$a#MlbDm3)8IIyLmNzTp5$x;?%)rB-~%o|axi}|e=w`zCF}to z_{R9gcmt%o$TbvCkEhRs9;Y6sBcKBh93ME6BY~DcmY``F4jB$Uz_;hy2ZE3)q=tal zPHZ<5uq;7Y1)pp`*`5b`D7GoK*#_jOv97WH8-4{hP=g_>A*%*Z{Es@TI;(z|Vm-y$ z3FgCD$cG6w6Ko=Z#JPGQz&6144t$1%l!cTGu&}fE*~Y!KduvD5*WQ4>y}tc!r~-}y z2N`1590mYsd9+*53tUI8<8ctfRHvy<;qWIUK|83^)sgwgqR)XXZ~{oZdkkdX#A_fw z$=~Gv{9Hap@-5#IRZuyYa44D28}k2XxVmQH9*_urS(heY4FzS zt<@=DfWlH?c^I4k>Dd<7Aqv!?)V$RE7OVjt=)jQKkXZ$gfHUd)9>DGY@sHU*W-lNE ze62Zf2x6fHj4X_>>u9FMd60m*rMhJlT!mV&w6e5X2Z`_%LaalqFF-X| z+F07G1Csyv8N6-1ZI40$OrlKsS#QZ&hzKUyO||VkiKpM2&R6q!taub#Sh8>hv+g96$@C%qjwN16nRhSM_fR6;N zKY+C3?N;qpw_qlWhZM^c%Z*?G3JZnBG4O;w^FH&tFcT&~qFJKZS|A6)6{g343qvMD z*!2-(@(bt#(iDx)K^RPge4~7$6A%fSP+?eMcn4O43yc9Q`x-oeoiH6p%xo+)>No1= z0Lh&@37cUdgn~PuD(jnpE~tYFOol0-2HIc@w%`mt5Cy-$PB;sXAQLdP(SHZp2HFO$ zfNfd^+u%ANE!m(R#v6_|vdX2BouH<0?*0^`ib{T!P_m`9kegLCj4 zis3Cxw3ui?0e@Hmdx7L6y#f)CI{z6oEj2Bv;0?3kci0DHO!E*D0b6-2E1(13!vw1d zR@y-7Djht4tT#l%LRbkKfUHLzfTM60{(|dp8}7p+_!pkR3wQ;u{~yTz$Zh04cm`MCFsy^wfNjhqZIVnq%)Xm`H+>5v zj-CZEK(4j@@H@-`FQ9@3d^Y)P(gsq%HfEEDa1QpsZ!jH5zPuHv!$;$f#?4RyDewr+ z!yfn*qQC>lfKv;;7=1D7fHKI2r*H)h!3J0WLEsFgFd5z%zB6nE8DzjyxB*9j1-76A<6u~SSic3zARn*|Q~xns1=2qK z0qbB9Ob0I@?T!WLz(n|<_d)M1)Po#^@CKg3Ew})G!cN!#D_}N+0vE8gT8{!opb6vQ zqwYuD0ce35Cb+aH5V&FcI`RfHZ0S93xYy^_)wFKtCGzbJPxB~+yKrS3Z&;(T& z2czJF&Ig@g=!14>hB~N%awvuZ$OUZm&`EzyBfJ1+pG;6K=p|xB%zj z9GrraaO8jdsq?4KVb}+IVGryEvKMm~?1UZv zPzn`L0}ap$oiG3+K=z4!1M)dc0`i&YfB~2T$rE+}IUq-$oS(fJcgH$0BInA0wA#z1=K<_kbNcn@D9EL zY4aw5D(CdUSzNRCAa`*;UtjvLf+Fp_ye}XCRhinfRx7~m0-uqQRe^SCc`Lff8guK2xL`8@z$%K*q(S ze>x9GVGnGAm9P+I0J)wx-~^UHuDdBfuEjxU12VoP*DM+9V!QFrG4(b5Yd^2^J^Fj} z*TWK+0lq-`Eo&hC);M^l_wHx?B6Tev65%mifulfj=1Kh}b(z#_2AF~heAfM}+X)qr z3vqA{&H`y~Rsm^`e8CAwKQjS_bcS^5K@6m=B<(0^XGuH15~9HisGtqswZCh>1qC2o zTKhR%gF~g^QVH2!`#V`vZAONr}K-CSL0Nb`yEx`ozK?}%>O@WCp4o1U|sXwNEgRk)Ae|(<$ z`R8xsf8@6BFiLfl>R2FaJClJdz-R!{r$`g4Y6jLo1v+5+_RsUdSI?-1K{Sxukmc|@ zY=J#M-qTsQ2KOKa-arx811-=8V=xD6pnyF%0s~yY4ak}tS%dQcPrz3%X!8C)kpGk0$^FRv$>Yf5 z$@4J52}lse4#?|~*Cnq{&V!tfDv!DAq0 za~V#E2q5Lm0(&q8O&A9s)j$6HjOx|v)n!2T`jI;RFWiLFuounPA!0#{O{NQDP*2DZau2m&Y2gYT2SPwoIIkiGo(;UsK<1>gtvpaq{NeV)_;MUViu;3%wz z+294XpbGCNzMohR1@IcK!y)(`qQL{KUk-!2oAV=T$zVQ{1 z36J3%Y==eQ5B8uA@5a3wR|9-_0;gdk%mfyYPWR*3k7JdP0@q+0Ob0voKIS|5YOpbn zU<+{IlEu% diff --git a/Tutorials/TurnBasedRPG/assets/sounds/select.wav b/Tutorials/TurnBasedRPG/assets/sounds/select.wav index 6b7a9c9d7259c4ece5b0ba751a00f233a7d2181f..73ec4f5f47c92b15c4ed6c1ce6d765364dd33e5e 100644 GIT binary patch literal 21190 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 HWEJ>7&P(gQ literal 54320 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 z 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 -{ - // These public variables will be used after combat has finished to help tell us what happened. - public var enemy:Enemy; // we will pass the enemySprite that the playerSprite touched to initialize combat, and this will let us also know which enemySprite to kill, etc. - public var playerHealth(default, null):Int; // when combat has finished, we will need to know how much remaining health the playerSprite has - public var outcome(default, null):Outcome; // when combat has finished, we will need to know if the playerSprite killed the enemySprite or fled - - // These are the sprites that we will use to show the combat hud interface - var background:FlxSprite; // this is the background sprite - var playerSprite:Player; // this is a sprite of the playerSprite - var enemySprite:Enemy; // this is a sprite of the enemySprite - - // These variables will be used to track the enemySprite's health - var enemyHealth:Int; - var enemyMaxHealth:Int; - var enemyHealthBar:FlxBar; // This FlxBar will show us the enemySprite's current/max health - - var playerHealthCounter:FlxText; // this will show the playerSprite's current/max health - - var damages:Array; // This array will contain 2 FlxText objects which will appear to show damage dealt (or misses) - - var pointer:FlxSprite; // This will be the pointer to show which option (Fight or Flee) the user is pointing to. - var selected:Choice; // this will track which option is selected - var choices:Map; // this map will contain the FlxTexts for our 2 options: Fight and Flee - - var results:FlxText; // this text will show the outcome of the battle for the playerSprite. - - var alpha:Float = 0; // we will use this to fade in and out our combat hud - var wait:Bool = true; // this flag will be set to true when don't want the playerSprite to be able to do anything (between turns) - - var fledSound:FlxSound; - var hurtSound:FlxSound; - var loseSound:FlxSound; - var missSound:FlxSound; - var selectSound:FlxSound; - var winSound:FlxSound; - var combatSound:FlxSound; - - var screen:FlxSprite; - - public function new() - { - super(); - - screen = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.TRANSPARENT); - var waveEffect = new FlxWaveEffect(FlxWaveMode.ALL, 4, -1, 4); - var waveSprite = new FlxEffectSprite(screen, [waveEffect]); - add(waveSprite); - - // first, create our background. Make a black square, then draw borders onto it in white. Add it to our group. - background = new FlxSprite().makeGraphic(120, 120, FlxColor.WHITE); - background.drawRect(1, 1, 118, 44, FlxColor.BLACK); - background.drawRect(1, 46, 118, 73, FlxColor.BLACK); - background.screenCenter(); - add(background); - - // next, make a 'dummy' playerSprite that looks like our playerSprite (but can't move) and add it. - playerSprite = new Player(background.x + 36, background.y + 16); - playerSprite.animation.frameIndex = 3; - playerSprite.active = false; - playerSprite.facing = RIGHT; - add(playerSprite); - - // do the same thing for an enemySprite. We'll just use enemySprite type REGULAR for now and change it later. - enemySprite = new Enemy(background.x + 76, background.y + 16, REGULAR); - enemySprite.animation.frameIndex = 3; - enemySprite.active = false; - enemySprite.facing = LEFT; - add(enemySprite); - - // setup the playerSprite's health display and add it to the group. - playerHealthCounter = new FlxText(0, playerSprite.y + playerSprite.height + 2, 0, "3 / 3", 8); - playerHealthCounter.alignment = CENTER; - playerHealthCounter.x = playerSprite.x + 4 - (playerHealthCounter.width / 2); - add(playerHealthCounter); - - // create and add a FlxBar to show the enemySprite's health. We'll make it Red and Yellow. - enemyHealthBar = new FlxBar(enemySprite.x - 6, playerHealthCounter.y, LEFT_TO_RIGHT, 20, 10); - enemyHealthBar.createFilledBar(0xffdc143c, FlxColor.YELLOW, true, FlxColor.YELLOW); - add(enemyHealthBar); - - // create our choices and add them to the group. - choices = new Map(); - choices[FIGHT] = new FlxText(background.x + 30, background.y + 48, 85, "FIGHT", 22); - choices[FLEE] = new FlxText(background.x + 30, choices[FIGHT].y + choices[FIGHT].height + 8, 85, "FLEE", 22); - add(choices[FIGHT]); - add(choices[FLEE]); - - pointer = new FlxSprite(background.x + 10, choices[FIGHT].y + (choices[FIGHT].height / 2) - 8, AssetPaths.pointer__png); - pointer.visible = false; - add(pointer); - - // create our damage texts. We'll make them be white text with a red shadow (so they stand out). - damages = new Array(); - damages.push(new FlxText(0, 0, 40)); - damages.push(new FlxText(0, 0, 40)); - for (d in damages) - { - d.color = FlxColor.WHITE; - d.setBorderStyle(SHADOW, FlxColor.RED); - d.alignment = CENTER; - d.visible = false; - add(d); - } - - // create our results text object. We'll position it, but make it hidden for now. - results = new FlxText(background.x + 2, background.y + 9, 116, "", 18); - results.alignment = CENTER; - results.color = FlxColor.YELLOW; - results.setBorderStyle(SHADOW, FlxColor.GRAY); - results.visible = false; - add(results); - - // like we did in our HUD class, we need to set the scrollFactor on each of our children objects to 0,0. We also set alpha to 0 (so we can fade this in) - forEach(function(sprite:FlxSprite) - { - sprite.scrollFactor.set(); - sprite.alpha = 0; - }); - - // mark this object as not active and not visible so update and draw don't get called on it until we're ready to show it. - active = false; - visible = false; - - fledSound = FlxG.sound.load(AssetPaths.fled__wav); - hurtSound = FlxG.sound.load(AssetPaths.hurt__wav); - loseSound = FlxG.sound.load(AssetPaths.lose__wav); - missSound = FlxG.sound.load(AssetPaths.miss__wav); - selectSound = FlxG.sound.load(AssetPaths.select__wav); - winSound = FlxG.sound.load(AssetPaths.win__wav); - combatSound = FlxG.sound.load(AssetPaths.combat__wav); - } - - /** - * This function will be called from PlayState when we want to start combat. It will setup the screen and make sure everything is ready. - * @param playerHealth The amount of health the playerSprite is starting with - * @param enemy This links back to the Enemy we are fighting with so we can get it's health and type (to change our sprite). - */ - public function initCombat(playerHealth:Int, enemy:Enemy) - { - screen.drawFrame(); - var screenPixels = screen.framePixels; - - if (FlxG.renderBlit) - screenPixels.copyPixels(FlxG.camera.buffer, FlxG.camera.buffer.rect, new Point()); - else - screenPixels.draw(FlxG.camera.canvas, new Matrix(1, 0, 0, 1, 0, 0)); - - var rc:Float = 1 / 3; - var gc:Float = 1 / 2; - var bc:Float = 1 / 6; - screenPixels.applyFilter(screenPixels, screenPixels.rect, new Point(), - new ColorMatrixFilter([rc, gc, bc, 0, 0, rc, gc, bc, 0, 0, rc, gc, bc, 0, 0, 0, 0, 0, 1, 0])); - - combatSound.play(); - this.playerHealth = playerHealth; // we set our playerHealth variable to the value that was passed to us - this.enemy = enemy; // set our enemySprite object to the one passed to us - - updatePlayerHealth(); - - // setup our enemySprite - enemyMaxHealth = enemyHealth = if (enemy.type == REGULAR) 2 else 4; // each enemySprite will have health based on their type - enemyHealthBar.value = 100; // the enemySprite's health bar starts at 100% - enemySprite.changeType(enemy.type); // change our enemySprite's image to match their type. - - // make sure we initialize all of these before we start so nothing looks 'wrong' the second time we get - wait = true; - results.text = ""; - pointer.visible = false; - results.visible = false; - outcome = NONE; - selected = FIGHT; - movePointer(); - - visible = true; // make our hud visible (so draw gets called on it) - note, it's not active, yet! - - // do a numeric tween to fade in our combat hud when the tween is finished, call finishFadeIn - FlxTween.num(0, 1, .66, {ease: FlxEase.circOut, onComplete: finishFadeIn}, updateAlpha); - } - - /** - * This function is called by our Tween to fade in/out all the items in our hud. - */ - function updateAlpha(alpha:Float) - { - this.alpha = alpha; - forEach(function(sprite) sprite.alpha = alpha); - } - - /** - * When we've finished fading in, we set our hud to active (so it gets updates), and allow the playerSprite to interact. We show our pointer, too. - */ - function finishFadeIn(_) - { - active = true; - wait = false; - pointer.visible = true; - selectSound.play(); - } - - /** - * After we fade our hud out, we set it to not be active or visible (no update and no draw) - */ - function finishFadeOut(_) - { - active = false; - visible = false; - } - - /** - * This function is called to change the Player's health text on the screen. - */ - function updatePlayerHealth() - { - playerHealthCounter.text = playerHealth + " / 3"; - playerHealthCounter.x = playerSprite.x + 4 - (playerHealthCounter.width / 2); - } - - override public function update(elapsed:Float) - { - if (!wait) // if we're waiting, don't do any of this. - { - updateKeyboardInput(); - updateTouchInput(); - } - super.update(elapsed); - } - - function updateKeyboardInput() - { - #if FLX_KEYBOARD - // setup some simple flags to see which keys are pressed. - var up:Bool = false; - var down:Bool = false; - var fire:Bool = false; - - // check to see any keys are pressed and set the cooresponding flags. - if (FlxG.keys.anyJustReleased([SPACE, X, ENTER])) - { - fire = true; - } - else if (FlxG.keys.anyJustReleased([W, UP])) - { - up = true; - } - else if (FlxG.keys.anyJustReleased([S, DOWN])) - { - down = true; - } - - // based on which flags are set, do the specified action - if (fire) - { - selectSound.play(); - makeChoice(); // when the playerSprite chooses either option, we call this function to process their selection - } - else if (up || down) - { - // if the playerSprite presses up or down, we move the cursor up or down (with wrapping) - selected = if (selected == FIGHT) FLEE else FIGHT; - selectSound.play(); - movePointer(); - } - #end - } - - function updateTouchInput() - { - #if FLX_TOUCH - for (touch in FlxG.touches.justReleased()) - { - for (choice in choices.keys()) - { - var text = choices[choice]; - if (touch.overlaps(text)) - { - selectSound.play(); - selected = choice; - movePointer(); - makeChoice(); - return; - } - } - } - #end - } - - /** - * Call this function to place the pointer next to the currently selected choice - */ - function movePointer() - { - pointer.y = choices[selected].y + (choices[selected].height / 2) - 8; - } - - /** - * This function will process the choice the playerSprite picked - */ - function makeChoice() - { - pointer.visible = false; // hide our pointer - switch (selected) // check which item was selected when the playerSprite picked it - { - case FIGHT: - // if FIGHT was picked... - // ...the playerSprite attacks the enemySprite first - // they have an 85% chance to hit the enemySprite - if (FlxG.random.bool(85)) - { - // if they hit, deal 1 damage to the enemySprite, and setup our damage indicator - damages[1].text = "1"; - FlxTween.tween(enemySprite, {x: enemySprite.x + 4}, 0.1, { - onComplete: function(_) - { - FlxTween.tween(enemySprite, {x: enemySprite.x - 4}, 0.1); - } - }); - hurtSound.play(); - enemyHealth--; - enemyHealthBar.value = (enemyHealth / enemyMaxHealth) * 100; // change the enemySprite's health bar - } - else - { - // change our damage text to show that we missed! - damages[1].text = "MISS!"; - missSound.play(); - } - - // position the damage text over the enemySprite, and set it's alpha to 0 but it's visible to true (so that it gets draw called on it) - damages[1].x = enemySprite.x + 2 - (damages[1].width / 2); - damages[1].y = enemySprite.y + 4 - (damages[1].height / 2); - damages[1].alpha = 0; - damages[1].visible = true; - - // if the enemySprite is still alive, it will swing back! - if (enemyHealth > 0) - { - enemyAttack(); - } - - // setup 2 tweens to allow the damage indicators to fade in and float up from the sprites - FlxTween.num(damages[0].y, damages[0].y - 12, 1, {ease: FlxEase.circOut}, updateDamageY); - FlxTween.num(0, 1, .2, {ease: FlxEase.circInOut, onComplete: doneDamageIn}, updateDamageAlpha); - - case FLEE: - // if the playerSprite chose to FLEE, we'll give them a 50/50 chance to escape - if (FlxG.random.bool(50)) - { - // if they succeed, we show the 'escaped' message and trigger it to fade in - outcome = ESCAPE; - results.text = "ESCAPED!"; - fledSound.play(); - results.visible = true; - results.alpha = 0; - FlxTween.tween(results, {alpha: 1}, .66, {ease: FlxEase.circInOut, onComplete: doneResultsIn}); - } - else - { - // if they fail to escape, the enemySprite will get a free-swing - enemyAttack(); - FlxTween.num(damages[0].y, damages[0].y - 12, 1, {ease: FlxEase.circOut}, updateDamageY); - FlxTween.num(0, 1, .2, {ease: FlxEase.circInOut, onComplete: doneDamageIn}, updateDamageAlpha); - } - } - - // regardless of what happens, we need to set our 'wait' flag so that we can show what happened before moving on - wait = true; - } - - /** - * This function is called anytime we want the enemySprite to swing at the playerSprite - */ - function enemyAttack() - { - // first, lets see if the enemySprite hits or not. We'll give him a 30% chance to hit - if (FlxG.random.bool(30)) - { - // if we hit, flash the screen white, and deal one damage to the playerSprite - then update the playerSprite's health - FlxG.camera.flash(FlxColor.WHITE, .2); - FlxG.camera.shake(0.01, 0.2); - hurtSound.play(); - damages[0].text = "1"; - playerHealth--; - updatePlayerHealth(); - } - else - { - // if the enemySprite misses, show it on the screen - damages[0].text = "MISS!"; - missSound.play(); - } - - // setup the combat text to show up over the playerSprite and fade in/raise up - damages[0].x = playerSprite.x + 2 - (damages[0].width / 2); - damages[0].y = playerSprite.y + 4 - (damages[0].height / 2); - damages[0].alpha = 0; - damages[0].visible = true; - } - - /** - * This function is called from our Tweens to move the damage displays up on the screen - */ - function updateDamageY(damageY:Float) - { - damages[0].y = damages[1].y = damageY; - } - - /** - * This function is called from our Tweens to fade in/out the damage text - */ - function updateDamageAlpha(damageAlpha:Float) - { - damages[0].alpha = damages[1].alpha = damageAlpha; - } - - /** - * This function is called when our damage texts have finished fading in - it will trigger them to start fading out again, after a short delay - */ - function doneDamageIn(_) - { - FlxTween.num(1, 0, .66, {ease: FlxEase.circInOut, startDelay: 1, onComplete: doneDamageOut}, updateDamageAlpha); - } - - /** - * This function is triggered when our results text has finished fading in. If we're not defeated, we will fade out the entire hud after a short delay - */ - function doneResultsIn(_) - { - FlxTween.num(1, 0, .66, {ease: FlxEase.circOut, onComplete: finishFadeOut, startDelay: 1}, updateAlpha); - } - - /** - * This function is triggered when the damage texts have finished fading out again. They will clear and reset them for next time. - * It will also check to see what we're supposed to do next - if the enemySprite is dead, we trigger victory, if the playerSprite is dead we trigger defeat, otherwise we reset for the next round. - */ - function doneDamageOut(_) - { - damages[0].visible = false; - damages[1].visible = false; - damages[0].text = ""; - damages[1].text = ""; - - if (playerHealth <= 0) - { - // if the playerSprite's health is 0, we show the defeat message on the screen and fade it in - outcome = DEFEAT; - loseSound.play(); - results.text = "DEFEAT!"; - results.visible = true; - results.alpha = 0; - FlxTween.tween(results, {alpha: 1}, 0.66, {ease: FlxEase.circInOut, onComplete: doneResultsIn}); - } - else if (enemyHealth <= 0) - { - // if the enemySprite's health is 0, we show the victory message - outcome = VICTORY; - winSound.play(); - results.text = "VICTORY!"; - results.visible = true; - results.alpha = 0; - FlxTween.tween(results, {alpha: 1}, 0.66, {ease: FlxEase.circInOut, onComplete: doneResultsIn}); - } - else - { - // both are still alive, so we reset and have the playerSprite pick their next action - wait = false; - pointer.visible = true; - } - } -} diff --git a/Tutorials/TurnBasedRPG/source/Enemy.hx b/Tutorials/TurnBasedRPG/source/Enemy.hx index 39c79daed..4fb0044bf 100644 --- a/Tutorials/TurnBasedRPG/source/Enemy.hx +++ b/Tutorials/TurnBasedRPG/source/Enemy.hx @@ -4,7 +4,8 @@ import flixel.FlxG; import flixel.FlxSprite; import flixel.math.FlxPoint; import flixel.math.FlxVelocity; -import flixel.system.FlxSound; +import flixel.tile.FlxTilemap; +import flixel.sound.FlxSound; using flixel.util.FlxSpriteUtil; @@ -16,8 +17,8 @@ enum EnemyType class Enemy extends FlxSprite { - static inline var WALK_SPEED:Float = 40; - static inline var CHASE_SPEED:Float = 70; + static inline var WALK_SPEED:Float = 50; + static inline var CHASE_SPEED:Float = 90; var brain:FSM; var idleTimer:Float; @@ -27,15 +28,18 @@ class Enemy extends FlxSprite public var type(default, null):EnemyType; public var seesPlayer:Bool; public var playerPosition:FlxPoint; + public var maxHealth:Float; public function new(x:Float, y:Float, type:EnemyType) { super(x, y); - this.type = type; - var graphic = if (type == BOSS) AssetPaths.boss__png else AssetPaths.enemy__png; - loadGraphic(graphic, true, 16, 16); - setFacingFlip(LEFT, false, false); - setFacingFlip(RIGHT, true, false); + + changeType(type); + maxHealth = type == REGULAR ? 2 : 4; + health = maxHealth; + + setFacingFlip(LEFT, true, false); + setFacingFlip(RIGHT, false, false); animation.add("d_idle", [0]); animation.add("lr_idle", [3]); animation.add("u_idle", [6]); @@ -43,9 +47,8 @@ class Enemy extends FlxSprite animation.add("lr_walk", [3, 4, 3, 5], 6); animation.add("u_walk", [6, 7, 6, 8], 6); drag.x = drag.y = 10; - setSize(8, 8); - offset.x = 4; - offset.y = 8; + setSize(12, 12); + offset.set(6, 12); brain = new FSM(idle); idleTimer = 0; @@ -80,7 +83,7 @@ class Enemy extends FlxSprite facing = DOWN; } - stepSound.setPosition(x + frameWidth / 2, y + height); + stepSound.setPosition(x + width / 2, y + height); stepSound.play(); } @@ -139,6 +142,14 @@ class Enemy extends FlxSprite FlxVelocity.moveTowardsPoint(this, playerPosition, CHASE_SPEED); } } + + public function checkVision(player:Player, walls:FlxTilemap) + { + // Store the player position + player.getMidpoint(playerPosition); + // Cast a ray from here to the player and see if a wall is blocking + seesPlayer = walls.ray(getMidpoint(), playerPosition); + } public function changeType(type:EnemyType) { @@ -146,7 +157,7 @@ class Enemy extends FlxSprite { this.type = type; var graphic = if (type == BOSS) AssetPaths.boss__png else AssetPaths.enemy__png; - loadGraphic(graphic, true, 16, 16); + loadGraphic(graphic, true, 24, 24); } } } diff --git a/Tutorials/TurnBasedRPG/source/GameOverState.hx b/Tutorials/TurnBasedRPG/source/GameOverState.hx index fe825ed6e..6288454fd 100644 --- a/Tutorials/TurnBasedRPG/source/GameOverState.hx +++ b/Tutorials/TurnBasedRPG/source/GameOverState.hx @@ -1,8 +1,12 @@ package; +import flixel.util.FlxTimer; +import flixel.tweens.FlxEase; +import flixel.tweens.FlxTween; import flixel.FlxG; import flixel.FlxSprite; import flixel.FlxState; +import flixel.text.FlxBitmapText; import flixel.text.FlxText; import flixel.ui.FlxButton; import flixel.util.FlxAxes; @@ -10,90 +14,81 @@ import flixel.util.FlxColor; class GameOverState extends FlxState { - var score:Int = 0; // number of coins we've collected - var win:Bool; // if we won or lost - var titleText:FlxText; // the title text - var messageText:FlxText; // the final score message text - var scoreIcon:FlxSprite; // sprite for a coin icon - var scoreText:FlxText; // text of the score - var highscoreText:FlxText; // text to show the highscore - var mainMenuButton:FlxButton; // button to go to main menu - /** * Called from PlayState, this will set our win and score variables - * @param win true if the player beat the boss, false if they died - * @param score the number of coins collected + * @param win Whether the player beat the boss, or died + * @param score The number of coins collected */ public function new(win:Bool, score:Int) { super(); - this.win = win; - this.score = score; - } - - override public function create() - { + #if FLX_MOUSE FlxG.mouse.visible = true; #end - + // create and add each of our items - - titleText = new FlxText(0, 20, 0, if (win) "You Win!" else "Game Over!", 22); - titleText.alignment = CENTER; + + var titleText = new LargeText(0, 20, if (win) "You Win!" else "Game Over!"); titleText.screenCenter(FlxAxes.X); add(titleText); - messageText = new FlxText(0, (FlxG.height / 2) - 18, 0, "Final Score:", 8); - messageText.alignment = CENTER; + var messageText = new FlxText(0, (FlxG.height / 2) - 18, 0, "Final Score: 0", 8); messageText.screenCenter(FlxAxes.X); add(messageText); - - scoreIcon = new FlxSprite((FlxG.width / 2) - 8, 0, AssetPaths.coin__png); - scoreIcon.screenCenter(FlxAxes.Y); - add(scoreIcon); - - scoreText = new FlxText((FlxG.width / 2), 0, 0, Std.string(score), 8); - scoreText.screenCenter(FlxAxes.Y); - add(scoreText); - - // we want to see what the highscore is - var highscore = checkHighscore(score); - - highscoreText = new FlxText(0, (FlxG.height / 2) + 10, 0, "Highscore: " + highscore, 8); - highscoreText.alignment = CENTER; - highscoreText.screenCenter(FlxAxes.Y); - add(highscoreText); - - mainMenuButton = new FlxButton(0, FlxG.height - 32, "Main Menu", switchToMainMenu); - mainMenuButton.screenCenter(FlxAxes.X); - mainMenuButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); - add(mainMenuButton); - + + // Fade the camera from black FlxG.camera.fade(FlxColor.BLACK, 0.33, true); - - super.create(); + + // Count up the points for dramatic effect + FlxTween.num(0, score, 1.0, // from 0 to score in 1.0 second + { + startDelay: 0.33,// wait for the fade to complete + ease: FlxEase.circOut, + onComplete: function (tween:FlxTween) + { + // Wait 1 second and then show the highscore + new FlxTimer().start(0.5, (_)->showHighscore(score)); + } + }, + function updateText(tweenedScore) + { + messageText.text = "Final Score: " + Math.floor(tweenedScore); + } + ); } - - /** - * This function will compare the new score with the saved highscore. - * If the new score is higher, it will save it as the new highscore, otherwise, it will return the saved highscore. - * @param score The new score - * @return the highscore - */ - function checkHighscore(score:Int):Int + + function showHighscore(score:Int) { - var highscore:Int = score; - if (FlxG.save.data.highscore != null && FlxG.save.data.highscore > highscore) - { + // Get previous highscore + var highscore = 0; + if (FlxG.save.data.highscore != null) highscore = FlxG.save.data.highscore; - } - else + + + var highscoreText = new FlxText(0, (FlxG.height / 2) + 10, 0, "Highscore: " + highscore, 8); + add(highscoreText); + + // New high score + if (score > highscore) { - // data is less or there is no data; save current score - FlxG.save.data.highscore = highscore; + FlxG.save.data.highscore = score; + highscoreText.text = "New Highscore!"; } - return highscore; + + highscoreText.screenCenter(FlxAxes.XY); + + // Wait a second then show the + new FlxTimer().start(1.0, (_)->showButton()); + } + + function showButton() + { + var mainMenuButton = new FlxButton(0, FlxG.height - 32, "Main Menu", switchToMainMenu); + mainMenuButton.loadGraphic(AssetPaths.button__png, true, 80, 20); + mainMenuButton.screenCenter(FlxAxes.X); + mainMenuButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); + add(mainMenuButton); } /** @@ -103,7 +98,7 @@ class GameOverState extends FlxState { FlxG.camera.fade(FlxColor.BLACK, 0.33, false, function() { - FlxG.switchState(new MenuState()); + FlxG.switchState(MenuState.new); }); } } diff --git a/Tutorials/TurnBasedRPG/source/HUD.hx b/Tutorials/TurnBasedRPG/source/HUD.hx index 8db8bfc9a..bb8de6964 100644 --- a/Tutorials/TurnBasedRPG/source/HUD.hx +++ b/Tutorials/TurnBasedRPG/source/HUD.hx @@ -10,37 +10,42 @@ using flixel.util.FlxSpriteUtil; class HUD extends FlxTypedGroup { - var background:FlxSprite; var healthCounter:FlxText; var moneyCounter:FlxText; - var healthIcon:FlxSprite; - var moneyIcon:FlxSprite; public function new() { super(); - background = new FlxSprite().makeGraphic(FlxG.width, 20, FlxColor.BLACK); - background.drawRect(0, 19, FlxG.width, 1, FlxColor.WHITE); - healthCounter = new FlxText(16, 2, 0, "3 / 3", 8); + + var healthIcon = new FlxSprite(4, 4, AssetPaths.health__png); + healthCounter = new FlxText(0, 0, 0, "3 / 3", 8); healthCounter.setBorderStyle(SHADOW, FlxColor.GRAY, 1, 1); - moneyCounter = new FlxText(0, 2, 0, "0", 8); - moneyCounter.setBorderStyle(SHADOW, FlxColor.GRAY, 1, 1); - healthIcon = new FlxSprite(4, healthCounter.y + (healthCounter.height / 2) - 4, AssetPaths.health__png); - moneyIcon = new FlxSprite(FlxG.width - 12, moneyCounter.y + (moneyCounter.height / 2) - 4, AssetPaths.coin__png); - moneyCounter.alignment = RIGHT; - moneyCounter.x = moneyIcon.x - moneyCounter.width - 4; - add(background); + healthCounter.x = healthIcon.x + healthIcon.width; + healthCounter.y = healthIcon.y + (healthIcon.height - healthCounter.height) / 2; add(healthIcon); - add(moneyIcon); add(healthCounter); + + var moneyIcon = new Coin(0, 4); + moneyIcon.solid = false; + moneyCounter = new FlxText(0, 0, 0, "00", 8); + moneyCounter.setBorderStyle(SHADOW, FlxColor.GRAY, 1, 1); + moneyIcon.x = FlxG.width - 4 - moneyIcon.width - moneyCounter.width; + moneyCounter.x = moneyIcon.x + moneyIcon.width; + moneyCounter.y = moneyIcon.y + (moneyIcon.height - moneyCounter.height) / 2; + moneyCounter.text = "0"; + add(moneyIcon); add(moneyCounter); + forEach(function(sprite) sprite.scrollFactor.set(0, 0)); } - public function updateHUD(health:Int, money:Int) + public function updateHealth(health:Int) { healthCounter.text = health + " / 3"; + } + + public function updateMoney(money:Int) + { moneyCounter.text = Std.string(money); - moneyCounter.x = moneyIcon.x - moneyCounter.width - 4; } } diff --git a/Tutorials/TurnBasedRPG/source/LargeText.hx b/Tutorials/TurnBasedRPG/source/LargeText.hx new file mode 100644 index 000000000..d566f75ff --- /dev/null +++ b/Tutorials/TurnBasedRPG/source/LargeText.hx @@ -0,0 +1,60 @@ +import flixel.FlxG; +import flixel.math.FlxPoint; +import flixel.math.FlxRect; +import flixel.text.FlxBitmapFont; +import flixel.text.FlxBitmapText; + +/** + * Note: This is not in the tutorial, the tutorial uses FlxText everywhere, which is easier to teach. + * Feel free to use this in your games + * Font created by Rick Hoppmann: https://tinyworlds.itch.io/free-pixel-font-thaleah + */ +@:forward +abstract LargeText(FlxBitmapText) to FlxBitmapText +{ + static function getDefaultFont() + { + final graphic = FlxG.bitmap.add(AssetPaths.font__png); + final font = FlxBitmapFont.findFont(graphic.imageFrame.frame); + if (font != null) + return font; + + final chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ!"; + final widths = ['I'.code=>3, '!'.code=>3, 'T'.code=>7]; + final defaultWidth = 8; + final defaultHeight = 8; + final font = FlxBitmapFont.fromMonospace(graphic, "", new FlxPoint(defaultWidth, defaultHeight)); + + var x:Int = 0; + for (i in 0...chars.length) + { + final charCode = chars.charCodeAt(i); + final width = if (widths.exists(charCode)) widths[charCode] else defaultWidth; + final frame = FlxRect.get(x, 0, width, defaultHeight); + @:privateAccess + font.addCharFrame(charCode, frame, FlxPoint.weak(), width); + x += width; + } + return font; + } + + public function new (x = 0.0, y = 0.0, text = "", scale = 4) + { + this = new FlxBitmapText(x, y, text, getDefaultFont()); + this.text = text; + this.autoUpperCase = true; + setScale(scale); + } + + function setScale(scale:Int) + { + this.scale.set(scale, scale); + this.updateHitbox(); + } + + inline public function setBorderStyle(style, color = 0x0, size = 1, quality = 1) + { + this.setBorderStyle(style, color, size, quality); + this.updateHitbox(); + } +} \ No newline at end of file diff --git a/Tutorials/TurnBasedRPG/source/MenuState.hx b/Tutorials/TurnBasedRPG/source/MenuState.hx index 8a8f5578c..3c1de5558 100644 --- a/Tutorials/TurnBasedRPG/source/MenuState.hx +++ b/Tutorials/TurnBasedRPG/source/MenuState.hx @@ -1,72 +1,100 @@ package; +import ui.OptionsSubState; import flixel.FlxG; import flixel.FlxState; +import flixel.text.FlxBitmapText; import flixel.text.FlxText; import flixel.ui.FlxButton; import flixel.util.FlxColor; +import flixel.addons.editors.ogmo.FlxOgmo3Loader; class MenuState extends FlxState { - var titleText:FlxText; - var playButton:FlxButton; - var optionsButton:FlxButton; - #if desktop - var exitButton:FlxButton; - #end - override public function create() { - titleText = new FlxText(20, 0, 0, "HaxeFlixel\nTutorial\nGame", 22); + // NOTE: differs from tutorial! + var map = new FlxOgmo3Loader(AssetPaths.turnBasedRPG__ogmo, AssetPaths.room_001__json); + var walls = map.loadTilemap(AssetPaths.tiles__png, "walls"); + walls.x -= 123; + walls.y -= 10; + add(walls); + + // Use FlxBitmapText for crisper edges on large text + var titleText = new LargeText(0, 16, "DUNGEON\nCRAWLER"); titleText.alignment = CENTER; + titleText.setBorderStyle(OUTLINE, 0xFF3f2631); titleText.screenCenter(X); add(titleText); + + // TUTORIAL VERSION: + // var titleText = new FlxText(0, 16, 0, "DUNGEON\nCRAWLER", 32); + // titleText.alignment = CENTER; + // titleText.screenCenter(X); + // add(titleText); - playButton = new FlxButton(0, 0, "Play", clickPlay); + var playButton = new FlxButton(0, 0, "Play", clickPlay); + playButton.loadGraphic(AssetPaths.button__png, true, 80, 20); playButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); playButton.x = (FlxG.width / 2) - 10 - playButton.width; playButton.y = FlxG.height - playButton.height - 10; add(playButton); - optionsButton = new FlxButton(0, 0, "Options", clickOptions); + var optionsButton = new FlxButton(0, 0, "Options", clickOptions); + optionsButton.loadGraphic(AssetPaths.button__png, true, 80, 20); optionsButton.x = (FlxG.width / 2) + 10; optionsButton.y = FlxG.height - optionsButton.height - 10; add(optionsButton); #if desktop - exitButton = new FlxButton(FlxG.width - 28, 8, "X", clickExit); - exitButton.loadGraphic(AssetPaths.button__png, true, 20, 20); + var exitButton = new FlxButton(FlxG.width - 28, 8, "X", clickExit); + exitButton.loadGraphic(AssetPaths.small_button__png, true, 20, 20); add(exitButton); #end if (FlxG.sound.music == null) // don't restart the music if it's already playing { - #if flash - FlxG.sound.playMusic(AssetPaths.HaxeFlixel_Tutorial_Game__mp3, 1, true); - #else - FlxG.sound.playMusic(AssetPaths.HaxeFlixel_Tutorial_Game__ogg, 1, true); - #end + initSound(); } FlxG.camera.fade(FlxColor.BLACK, 0.33, true); super.create(); } + + function initSound() + { + var volumes:{ music:Float, sound:Float } = null; + if (FlxG.save.data.volumes != null) + volumes = FlxG.save.data.volumes; + else + volumes = { music:0.5, sound:1.0 }; + + FlxG.sound.defaultMusicGroup.volume = volumes.music; + FlxG.sound.defaultSoundGroup.volume = volumes.sound; + + #if flash + FlxG.sound.playMusic(AssetPaths.HaxeFlixel_Tutorial_Game__mp3, 1.0, true); + #else + FlxG.sound.playMusic(AssetPaths.HaxeFlixel_Tutorial_Game__ogg, 1.0, true); + #end + } function clickPlay() { FlxG.camera.fade(FlxColor.BLACK, 0.33, false, function() { - FlxG.switchState(new PlayState()); + FlxG.switchState(PlayState.new); }); } function clickOptions() { - FlxG.camera.fade(FlxColor.BLACK, 0.33, false, function() - { - FlxG.switchState(new OptionsState()); - }); + openSubState(new OptionsSubState()); + // FlxG.camera.fade(FlxColor.BLACK, 0.33, false, function() + // { + // FlxG.switchState(OptionsState.new); + // }); } #if desktop diff --git a/Tutorials/TurnBasedRPG/source/OptionsState.hx b/Tutorials/TurnBasedRPG/source/OptionsState.hx index 23eec3da5..0a497d913 100644 --- a/Tutorials/TurnBasedRPG/source/OptionsState.hx +++ b/Tutorials/TurnBasedRPG/source/OptionsState.hx @@ -3,6 +3,7 @@ package; import flixel.FlxG; import flixel.FlxState; import flixel.text.FlxText; +import flixel.text.FlxBitmapText; import flixel.ui.FlxBar; import flixel.ui.FlxButton; import flixel.util.FlxAxes; @@ -11,47 +12,40 @@ import flixel.util.FlxColor; class OptionsState extends FlxState { // define our screen elements - var titleText:FlxText; var volumeBar:FlxBar; - var volumeText:FlxText; var volumeAmountText:FlxText; - var volumeDownButton:FlxButton; - var volumeUpButton:FlxButton; - var clearDataButton:FlxButton; - var backButton:FlxButton; #if desktop var fullscreenButton:FlxButton; #end - + override public function create():Void { // setup and add our objects to the screen - titleText = new FlxText(0, 20, 0, "Options", 22); - titleText.alignment = CENTER; - titleText.screenCenter(FlxAxes.X); + var titleText = new LargeText(0, 32, "Options"); + titleText.screenCenter(X); add(titleText); - - volumeText = new FlxText(0, titleText.y + titleText.height + 10, 0, "Volume", 8); + + var volumeText = new FlxText(0, titleText.y + titleText.height + 10, 0, "Volume", 8); volumeText.alignment = CENTER; - volumeText.screenCenter(FlxAxes.X); + volumeText.screenCenter(X); add(volumeText); - + // the volume buttons will be smaller than 'default' buttons - volumeDownButton = new FlxButton(8, volumeText.y + volumeText.height + 2, "-", clickVolumeDown); - volumeDownButton.loadGraphic(AssetPaths.button__png, true, 20, 20); + var volumeDownButton = new FlxButton(8, volumeText.y + volumeText.height + 2, "-", clickVolumeDown); + volumeDownButton.loadGraphic(AssetPaths.small_button__png, true, 20, 20); volumeDownButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); add(volumeDownButton); - - volumeUpButton = new FlxButton(FlxG.width - 28, volumeDownButton.y, "+", clickVolumeUp); - volumeUpButton.loadGraphic(AssetPaths.button__png, true, 20, 20); + + var volumeUpButton = new FlxButton(FlxG.width - 28, volumeDownButton.y, "+", clickVolumeUp); + volumeUpButton.loadGraphic(AssetPaths.small_button__png, true, 20, 20); volumeUpButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); add(volumeUpButton); - + volumeBar = new FlxBar(volumeDownButton.x + volumeDownButton.width + 4, volumeDownButton.y, LEFT_TO_RIGHT, Std.int(FlxG.width - 64), Std.int(volumeUpButton.height)); volumeBar.createFilledBar(0xff464646, FlxColor.WHITE, true, FlxColor.WHITE); add(volumeBar); - + volumeAmountText = new FlxText(0, 0, 200, (FlxG.sound.volume * 100) + "%", 8); volumeAmountText.alignment = CENTER; volumeAmountText.borderStyle = FlxTextBorderStyle.OUTLINE; @@ -59,21 +53,24 @@ class OptionsState extends FlxState volumeAmountText.y = volumeBar.y + (volumeBar.height / 2) - (volumeAmountText.height / 2); volumeAmountText.screenCenter(FlxAxes.X); add(volumeAmountText); - + #if desktop fullscreenButton = new FlxButton(0, volumeBar.y + volumeBar.height + 8, FlxG.fullscreen ? "FULLSCREEN" : "WINDOWED", clickFullscreen); + fullscreenButton.loadGraphic(AssetPaths.button__png, true, 80, 20); fullscreenButton.screenCenter(FlxAxes.X); add(fullscreenButton); #end - - clearDataButton = new FlxButton((FlxG.width / 2) - 90, FlxG.height - 28, "Clear Data", clickClearData); + + var clearDataButton = new FlxButton((FlxG.width / 2) - 90, FlxG.height - 28, "Clear Data", clickClearData); + clearDataButton.loadGraphic(AssetPaths.button__png, true, 80, 20); clearDataButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); add(clearDataButton); - - backButton = new FlxButton((FlxG.width / 2) + 10, FlxG.height - 28, "Back", clickBack); + + var backButton = new FlxButton((FlxG.width / 2) + 10, FlxG.height - 28, "Back", clickBack); + backButton.loadGraphic(AssetPaths.button__png, true, 80, 20); backButton.onUp.sound = FlxG.sound.load(AssetPaths.select__wav); add(backButton); - + // update our bar to show the current volume level updateVolume(); @@ -109,7 +106,7 @@ class OptionsState extends FlxState FlxG.save.flush(); FlxG.camera.fade(FlxColor.BLACK, .33, false, function() { - FlxG.switchState(new MenuState()); + FlxG.switchState(MenuState.new); }); } diff --git a/Tutorials/TurnBasedRPG/source/PlayState.hx b/Tutorials/TurnBasedRPG/source/PlayState.hx index 399501fc6..7473eb04d 100644 --- a/Tutorials/TurnBasedRPG/source/PlayState.hx +++ b/Tutorials/TurnBasedRPG/source/PlayState.hx @@ -3,35 +3,26 @@ package; import flixel.FlxG; import flixel.FlxState; import flixel.addons.editors.ogmo.FlxOgmo3Loader; -import flixel.group.FlxGroup.FlxTypedGroup; -import flixel.system.FlxSound; +import flixel.group.FlxGroup; +import flixel.sound.FlxSound; import flixel.tile.FlxTilemap; import flixel.util.FlxColor; #if mobile import flixel.ui.FlxVirtualPad; #end +import ui.CombatSubState; using flixel.util.FlxSpriteUtil; class PlayState extends FlxState { var player:Player; - var map:FlxOgmo3Loader; var walls:FlxTilemap; var coins:FlxTypedGroup; var enemies:FlxTypedGroup; var hud:HUD; var money:Int = 0; - var health:Int = 3; - - var inCombat:Bool = false; - var combatHud:CombatHUD; - - var ending:Bool; - var won:Bool; - - var coinSound:FlxSound; #if mobile public static var virtualPad:FlxVirtualPad; @@ -43,11 +34,11 @@ class PlayState extends FlxState FlxG.mouse.visible = false; #end - map = new FlxOgmo3Loader(AssetPaths.turnBasedRPG__ogmo, AssetPaths.room_001__json); + var map = new FlxOgmo3Loader(AssetPaths.turnBasedRPG__ogmo, AssetPaths.room_001__json); walls = map.loadTilemap(AssetPaths.tiles__png, "walls"); walls.follow(); - walls.setTileProperties(1, NONE); - walls.setTileProperties(2, ANY); + walls.setTileProperties(0, NONE, null, null, 16); + walls.setTileProperties(16, ANY, null, null, 20); add(walls); coins = new FlxTypedGroup(); @@ -65,11 +56,6 @@ class PlayState extends FlxState hud = new HUD(); add(hud); - combatHud = new CombatHUD(); - add(combatHud); - - coinSound = FlxG.sound.load(AssetPaths.coin__wav); - #if mobile virtualPad = new FlxVirtualPad(FULL, NONE); add(virtualPad); @@ -104,62 +90,12 @@ class PlayState extends FlxState override public function update(elapsed:Float) { super.update(elapsed); - - if (ending) - { - return; - } - - if (inCombat) - { - if (!combatHud.visible) - { - health = combatHud.playerHealth; - hud.updateHUD(health, money); - if (combatHud.outcome == DEFEAT) - { - ending = true; - FlxG.camera.fade(FlxColor.BLACK, 0.33, false, doneFadeOut); - } - else - { - if (combatHud.outcome == VICTORY) - { - combatHud.enemy.kill(); - if (combatHud.enemy.type == BOSS) - { - won = true; - ending = true; - FlxG.camera.fade(FlxColor.BLACK, 0.33, false, doneFadeOut); - } - } - else - { - combatHud.enemy.flicker(); - } - inCombat = false; - player.active = true; - enemies.active = true; - - #if mobile - virtualPad.visible = true; - #end - } - } - } - else - { - FlxG.collide(player, walls); - FlxG.overlap(player, coins, playerTouchCoin); - FlxG.collide(enemies, walls); - enemies.forEachAlive(checkEnemyVision); - FlxG.overlap(player, enemies, playerTouchEnemy); - } - } - - function doneFadeOut() - { - FlxG.switchState(new GameOverState(won, money)); + + FlxG.collide(player, walls); + FlxG.overlap(player, coins, playerTouchCoin); + FlxG.collide(enemies, walls); + enemies.forEachAlive(checkEnemyVision); + FlxG.overlap(player, enemies, playerTouchEnemy); } function playerTouchCoin(player:Player, coin:Coin) @@ -168,22 +104,14 @@ class PlayState extends FlxState { coin.kill(); money++; - hud.updateHUD(health, money); - coinSound.play(true); + hud.updateMoney(money); + FlxG.sound.play(AssetPaths.coin__wav); } } function checkEnemyVision(enemy:Enemy) { - if (walls.ray(enemy.getMidpoint(), player.getMidpoint())) - { - enemy.seesPlayer = true; - enemy.playerPosition = player.getMidpoint(); - } - else - { - enemy.seesPlayer = false; - } + enemy.checkVision(player, walls); } function playerTouchEnemy(player:Player, enemy:Enemy) @@ -196,13 +124,38 @@ class PlayState extends FlxState function startCombat(enemy:Enemy) { - inCombat = true; - player.active = false; - enemies.active = false; - combatHud.initCombat(health, enemy); - #if mobile virtualPad.visible = false; #end + + FlxG.sound.play(AssetPaths.combat__wav); + openSubState(new CombatSubState(player, enemy, (outcome)->handleCombatOutcome(outcome, enemy))); + } + + function handleCombatOutcome(outcome:CombatOutcome, enemy:Enemy) + { + hud.updateHealth(Std.int(player.health)); + switch(outcome) + { + case VICTORY: + enemy.kill(); + if (enemy.type == BOSS) + fadeToGameOver(true); + case ESCAPED: + enemy.flicker(); + case DEFEAT: + player.alive = false; + + fadeToGameOver(false); + } + } + + function fadeToGameOver(won:Bool) + { + function onComplete() + { + FlxG.switchState(()->new GameOverState(won, money)); + } + FlxG.camera.fade(FlxColor.BLACK, 0.33, false, onComplete); } } diff --git a/Tutorials/TurnBasedRPG/source/Player.hx b/Tutorials/TurnBasedRPG/source/Player.hx index a3a1f2fba..c88ddf2ba 100644 --- a/Tutorials/TurnBasedRPG/source/Player.hx +++ b/Tutorials/TurnBasedRPG/source/Player.hx @@ -3,20 +3,23 @@ package; import flixel.FlxG; import flixel.FlxSprite; import flixel.math.FlxPoint; -import flixel.system.FlxSound; +import flixel.sound.FlxSound; class Player extends FlxSprite { - static inline var SPEED:Float = 100; + static inline var SPEED:Float = 110; + /** Reaches top speed in 0.15 seconds */ + static inline var ACCEL:Float = SPEED / 0.15; - var stepSound:FlxSound; + public final maxHealth:Float = 3.0; public function new(x:Float = 0, y:Float = 0) { super(x, y); - loadGraphic(AssetPaths.player__png, true, 16, 16); - setFacingFlip(LEFT, false, false); - setFacingFlip(RIGHT, true, false); + + loadGraphic(AssetPaths.player__png, true, 24, 24); + setFacingFlip(LEFT, true, false); + setFacingFlip(RIGHT, false, false); animation.add("d_idle", [0]); animation.add("lr_idle", [3]); animation.add("u_idle", [6]); @@ -25,20 +28,41 @@ class Player extends FlxSprite animation.add("u_walk", [6, 7, 6, 8], 6); drag.x = drag.y = 800; - setSize(8, 8); - offset.set(4, 8); + maxVelocity.x = maxVelocity.y = SPEED; + setSize(12, 12); + offset.set(6, 12); - stepSound = FlxG.sound.load(AssetPaths.step__wav); + health = maxHealth; } override function update(elapsed:Float) { - updateMovement(); super.update(elapsed); + + updateMovement(); } function updateMovement() { + var action = "idle"; + // check if the player is moving, and not walking into walls + if (velocity.x != 0 || velocity.y != 0) + { + // FlxG.sound.play(AssetPaths.step__wav) + action = "walk"; + } + + switch (facing) + { + case LEFT, RIGHT: + animation.play("lr_" + action); + case UP: + animation.play("u_" + action); + case DOWN: + animation.play("d_" + action); + case _: + } + var up:Bool = false; var down:Bool = false; var left:Bool = false; @@ -65,51 +89,36 @@ class Player extends FlxSprite if (left && right) left = right = false; + acceleration.set(0, 0); if (right) { facing = RIGHT; - velocity.x = SPEED; + acceleration.x = ACCEL; } else if (left) { facing = LEFT; - velocity.x = -SPEED; + acceleration.x = -ACCEL; } if (down) { facing = DOWN; - velocity.y = SPEED; + acceleration.y = ACCEL; } else if (up) { facing = UP; - velocity.y = -SPEED; + acceleration.y = -ACCEL; } // Prevent faster speeds on diagonal movement var magnitude = velocity.length; if (magnitude > SPEED) - // Reduce velocity to SPEED but maintain the same direction - velocity.scale(SPEED / magnitude); - - var action = "idle"; - // check if the player is moving, and not walking into walls - if ((velocity.x != 0 || velocity.y != 0) && touching == NONE) - { - stepSound.play(); - action = "walk"; - } - - switch (facing) { - case LEFT, RIGHT: - animation.play("lr_" + action); - case UP: - animation.play("u_" + action); - case DOWN: - animation.play("d_" + action); - case _: + // Reduce speed to SPEED but maintain direction + velocity.x *= SPEED / magnitude; + velocity.y *= SPEED / magnitude; } } } diff --git a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx new file mode 100644 index 000000000..6f43cfc80 --- /dev/null +++ b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx @@ -0,0 +1,521 @@ +package ui; + +import flixel.FlxG; +import flixel.FlxSprite; +import flixel.group.FlxGroup; +import flixel.group.FlxSpriteGroup; +import flixel.math.FlxRect; +import flixel.text.FlxText; +import flixel.tweens.FlxEase; +import flixel.tweens.FlxTween; +import flixel.ui.FlxBar; +import flixel.util.FlxAxes; +import flixel.util.FlxColor; +import flixel.util.FlxTimer; +import flixel.util.FlxDirectionFlags; +import flixel.addons.display.FlxSliceSprite; +import flixel.addons.effects.chainable.FlxEffectSprite; +import flixel.addons.effects.chainable.FlxWaveEffect; + +import openfl.filters.ColorMatrixFilter; +import openfl.geom.Matrix; +import openfl.geom.Point; + +enum CombatOutcome +{ + ESCAPED; + VICTORY; + DEFEAT; +} + +private enum Choice +{ + FIGHT; + FLEE; +} + +/** + * A SubState that pauses the main game to show the combat UI + */ +class CombatSubState extends flixel.FlxSubState +{ + /** The UI handling the actual battling */ + var ui:CombatUI; + + public function new (player:Player, enemy:Enemy, callback:(CombatOutcome)->Void) + { + super(); + + // Adds a neat wave effect to the game, this helps separate the game from the UI + var waveEffect = new CombatWaveEffect(4, 4); + add(waveEffect); + + /** Called when the UI determines an outcome of the battle */ + function outcomeReceived(outcome:CombatOutcome) + { + // disable the UI, tween it away, then pass the outcome to the callback + ui.active = false; + FlxTween.tween(ui, { y:FlxG.height }, 0.5, { ease: FlxEase.backIn, onComplete: + function (_) + { + // send the result to the play state and close + callback(outcome); + close(); + } + }); + waveEffect.fadeOut(0.5); + } + + // Create the UI + ui = new CombatUI(player, enemy, outcomeReceived); + ui.screenCenter(); + // ignore camera scroll to maintain screen position + ui.scrollFactor.set(0, 0); + add(ui); + + // store target y and then hide UI below the screen + var targetY = ui.y; + ui.y = FlxG.height; + + // disable the UI, tween it up from the bottom, then enable it + ui.active = false; + function onTweenComplete(tween:FlxTween) + { + ui.active = true; + } + FlxG.camera.flash(FlxColor.WHITE, .2); + FlxTween.tween(ui, { y:targetY }, 0.5, + { + startDelay: 0.2,// wait for flash + ease: FlxEase.backOut, + onComplete: onTweenComplete + } + ); + waveEffect.fadeIn(1.0); + } +} + +/** + * The UI that controls combat, extends `FlxSpriteGroup` which changes its members + * when certain properties are changed, namely `x`, `y`, `alpha` and `scrollFactor`. + */ +class CombatUI extends FlxSpriteGroup +{ + /** A function that handles the outcome of this match */ + var callback:(CombatOutcome)->Void; + + /** A reference to the player sprite in the main game */ + var player:Player; + /** A sprite representing our hero */ + var playerIcon:FlxSprite; + /** Used to show the result of attacks */ + var playerDmg:FlxText; + /** Displays the player's health */ + var playerHealthBar:FlxBar; + + /** A reference to our current opponent in the main game */ + var enemy:Enemy; + /** A sprite representing our enemy */ + var enemyIcon:FlxSprite; + /** Used to show the result of attacks */ + var enemyDmg:FlxText; + /** Displays the enemy's health */ + var enemyHealthBar:FlxBar; + + /** A group of texts that show damage or missed attacks */ + var attackResults:FlxTypedGroup; + + /** Shows the currently selected option (FIGHT or FLEE). */ + var pointer:FlxSprite; + /** Tracks which option is selected */ + var selected:Choice = FIGHT; + /** Contains text displaying our 2 options: FIGHT and FLEE */ + var choices:Map; + + public function new (player:Player, enemy:Enemy, callback:(CombatOutcome)->Void) + { + this.callback = callback; + this.player = player; + this.enemy = enemy; + super(); + + // Make a background to visially separate the ui from the game underneath + var bg = new FlxSliceSprite(AssetPaths.uiback__png, new FlxRect(16, 16, 16, 16), 128, 128); + // Stretch the sections rather than tiling for better performance + bg.stretchTop + = bg.stretchRight + = bg.stretchLeft + = bg.stretchBottom + = bg.stretchCenter + = true; + add(bg); + + final border = 6; + var section = new FlxSliceSprite(AssetPaths.ui_section__png, new FlxRect(16, 16, 16, 16), bg.width - border * 2, 72); + section.x = border; + section.y = bg.height - section.height - border; + // Stretch the sections rather than tiling for better performance + section.stretchTop + = bg.stretchRight + = bg.stretchLeft + = bg.stretchBottom + = section.stretchCenter + = true; + add(section); + + // Make a 'dummy' player and health bar + playerIcon = createAvatar(24, 8, player, player.maxHealth); + playerIcon.facing = RIGHT; + + // Make a 'dummy' enemy and health bar + enemyIcon = createAvatar(80, 8, enemy, enemy.maxHealth); + enemyIcon.facing = LEFT; + + attackResults = new FlxTypedGroup(); + for (i in 0...2) + { + var text = new FlxText(0, 0); + // Use same color as the pointer + text.color = 0xFFe5e5e5; + text.setBorderStyle(SHADOW, FlxColor.RED); + attackResults.add(text); + add(text); + text.kill(); + } + + // create our choices and add them to the group. + choices = new Map(); + choices[FIGHT] = new LargeText(40, 64, "FIGHT", 2); + choices[FLEE] = new LargeText(40, choices[FIGHT].y + choices[FIGHT].height + 10, "FLEE", 2); + add(choices[FIGHT]); + add(choices[FLEE]); + + pointer = new FlxSprite(16, choices[FIGHT].y + (choices[FIGHT].height / 2) - 8, AssetPaths.pointer__png); + add(pointer); + } + + /** + * Creates and adds an Icon and health bar for the target fighter + */ + function createAvatar(x:Float, y:Float, target:FlxSprite, maxHealth:Float) + { + // Create an "dummy" icon of the target + var icon = new FlxSprite(x, y); + // Use the target's graphic to have the same frames + icon.loadGraphicFromSprite(target); + icon.animation.play("lr_idle"); + + icon.setFacingFlip(LEFT, true, false); + icon.setFacingFlip(RIGHT, false, false); + add(icon); + + // create a health bar + var bar = new FlxBar(0, icon.y + icon.height + 2, LEFT_TO_RIGHT, 30, 10); + bar.createFilledBar(0xffdc143c, FlxColor.YELLOW, true, FlxColor.YELLOW); + bar.setRange(0, maxHealth); + // tracks the target's health automatically + bar.parent = target; + bar.parentVariable = "health"; + bar.value = target.health; + // yellow bar, yellow border, red underneath + centerOn(bar, icon, X); + add(bar); + + return icon; + } + + override function update(elapsed:Float) + { + super.update(elapsed); + + // Only check input between turns when the pointer is showing + if (pointer.exists) + { + #if FLX_KEYBOARD + updateKeyboardInput(); + #end + + #if FLX_TOUCH + updateTouchInput(); + #end + } + } + + /** + * Call this function to place the pointer next to the currently selected choice + */ + inline function hilightChoice(choice:Choice) + { + selected = choice; + centerOn(pointer, choices[selected], Y); + } + + #if FLX_KEYBOARD + function updateKeyboardInput() + { + // Create helper func with shorter name + var justPressed = FlxG.keys.anyJustPressed; + var justReleased = FlxG.keys.anyJustReleased; + if (justPressed([SPACE, X, ENTER])) + { + FlxG.sound.play(AssetPaths.select__wav); + onChoose(selected); + } + // if the playerSprite presses up or down (but not both) + else if (justReleased([W, UP]) != justReleased([S, DOWN])) + { + FlxG.sound.play(AssetPaths.select__wav); + // Move the cursor up or down (with wrapping) + hilightChoice(selected == FIGHT ? FLEE : FIGHT); + } + } + #end + + #if FLX_TOUCH + function updateTouchInput() + { + for (touch in FlxG.touches.justReleased()) + { + for (choice in choices.keys()) + { + var text = choices[choice]; + if (touch.overlaps(text)) + { + FlxG.sound.play(AssetPaths.select__wav); + hilightChoice(choice); + onChoose(choice); + return; + } + } + } + } + #end + + function onChoose(selected:Choice) + { + // kill texts from last round + attackResults.killMembers(); + // hide our pointer + pointer.exists = false; + // check which item was selected when the playerSprite picked it + switch (selected) + { + case FIGHT: + playerAttack(); + + case FLEE: + // 50% chance to flee + if (FlxG.random.bool(50)) + { + // Success + FlxG.sound.play(AssetPaths.fled__wav); + showOutcome(ESCAPED); + } + else + { + // Failure, enemy gets a free attack + enemyAttack(); + } + } + } + + /** + * Reduces the target's helth by the specified damage + */ + inline function hurtTarget(target:FlxSprite, damage:Int) + { + // subtracting floats from floats can cause arethmetic errors, so we convert to an int first + target.health = Std.int(target.health) - damage; + } + + function showAttackResult(icon:FlxSprite, msg:String, ?onComplete:()->Void) + { + // recycle dead text + var text = attackResults.recycle(); + text.text = msg; + centerOn(text, icon, XY); + // text.alpha = 0; + + var callback = onComplete != null ? (_)->onComplete() : null; + FlxTween.tween(text, { alpha: 2 }, 0.5, { ease: FlxEase.circOut, onComplete: callback }); + FlxTween.tween(text, { y: text.y - 12 }, 1, { ease: FlxEase.circOut, onComplete:(_)->text.kill() }); + } + + function playerAttack() + { + // Move the player towards the enemy then back + FlxTween.tween(playerIcon, {x: playerIcon.x + 12}, 0.1) + .then(FlxTween.tween(playerIcon, {x: playerIcon.x}, 0.1)); + + var result:String; + // 85% chance for player to hit + if (FlxG.random.bool(85)) + { + // Success + FlxG.sound.play(AssetPaths.hurt__wav); + // Move the enemy, then move it back + FlxTween.tween(enemyIcon, {x: enemyIcon.x + 4}, 0.1, {startDelay: 0.1}) + .then(FlxTween.tween(enemyIcon, {x: enemyIcon.x}, 0.1)); + + // Deal 1 damage to the enemy + hurtTarget(enemy, 1); + result = "1"; + } + else + { + // We missed + FlxG.sound.play(AssetPaths.miss__wav); + result = "MISS!"; + } + + // Show the attack result then it's the enemy's turn + if (enemy.health > 0) + showAttackResult(enemyIcon, result, enemyAttack); + else + showAttackResult(enemyIcon, result, roundEnd); + } + + function enemyAttack() + { + // Move the enemy towards the player, then move it back + FlxTween.tween(enemyIcon, {x: enemyIcon.x - 12}, 0.1) + .then(FlxTween.tween(enemyIcon, {x: enemyIcon.x}, 0.1)); + + var result:String; + // 30% chance to hit + if (FlxG.random.bool(30)) + { + // Flash the screen white + FlxG.camera.flash(FlxColor.WHITE, .2); + FlxG.camera.shake(0.01, 0.2); + + // Move the enemy, then move it back + FlxTween.tween(playerIcon, {x: playerIcon.x - 4}, 0.1, {startDelay: 0.1}) + .then(FlxTween.tween(playerIcon, {x: playerIcon.x}, 0.1)); + // Deal 1 damage + hurtTarget(player, 1); + FlxG.sound.play(AssetPaths.hurt__wav); + result = "1"; + } + else + { + // Missed + FlxG.sound.play(AssetPaths.miss__wav); + result = "MISS!"; + } + + showAttackResult(playerIcon, result, roundEnd); + } + + function roundEnd() + { + if (player.health <= 0) + showOutcome(DEFEAT); + else if (enemy.health <= 0) + showOutcome(VICTORY); + else + { + // Enables UI for net turn + pointer.exists = true; + } + } + + function showOutcome(outcome:CombatOutcome) + { + var text = new LargeText(0, 0, outcome.getName(), 3); + text.color = FlxColor.YELLOW; + text.setBorderStyle(SHADOW, FlxColor.GRAY); + // Adding a sprite to a sprite group will change the x/y by the group's, so add first + add(text); + text.screenCenter(); + + // Store desired y, then tween to it + var targetY = text.y; + text.y = -text.height; + FlxTween.tween(text, { y: targetY }, 1, { ease: FlxEase.backOut, onComplete: + function (_) + { + // Hold it there for a sec, then start the outro + new FlxTimer().start(1.0, (_)->callback(outcome)); + } + }); + } + + /** + * Centers the first sprite's so it's center x mathes the center x of the target + */ + static inline function centerOn(sprite:FlxSprite, target:FlxSprite, axes:FlxAxes = XY) + { + if (axes.x) + sprite.x = target.x + (target.width - sprite.width) / 2; + if (axes.y) + sprite.y = target.y + (target.height - sprite.height) / 2; + } +} + +/** + * Helper class that handles the wave effect + */ +private class CombatWaveEffect extends FlxEffectSprite +{ + /** + * [Description] + * @param strength How strong you want the effect + * @param speed How fast you want the effect to move, higher values = faster + */ + public function new(strength = 10, speed = 3.0) + { + var screen = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.TRANSPARENT); + super(screen, [new FlxWaveEffect(FlxWaveMode.ALL, strength, -1, speed)]); + scrollFactor.set(0, 0); + + // Draw the camera to a bitmap + screen.drawFrame(); + var screenPixels = screen.framePixels; + if (FlxG.renderBlit) + screenPixels.copyPixels(FlxG.camera.buffer, FlxG.camera.buffer.rect, new Point()); + else + screenPixels.draw(FlxG.camera.canvas, new Matrix(1, 0, 0, 1, 0, 0)); + + // Apply desaturating color matrix + var rc:Float = 1 / 3; + var gc:Float = 1 / 2; + var bc:Float = 1 / 6; + screenPixels.applyFilter(screenPixels, screenPixels.rect, new Point(), + new ColorMatrixFilter([rc, gc, bc, 0, 0, rc, gc, bc, 0, 0, rc, gc, bc, 0, 0, 0, 0, 0, 1, 0])); + } + + /** + * Tweens the `alpha` and `strength` from 0 + * @param time The duration of the fade + */ + public function fadeIn(time:Float) + { + var waveEffect:FlxWaveEffect = cast this.effects[0]; + var strength = waveEffect.strength; + // Fade effect in + // alpha = 0; + FlxTween.num(0.0, 1.0, time, (n)-> + { + alpha = n; + waveEffect.strength = Math.floor(strength * FlxEase.circOut(Math.max(n - 0.5, 0) * 2)); + }); + } + + /** + * Tweens the `alpha` and `strength` to 0 + * @param time The duration of the fade + */ + public function fadeOut(time:Float) + { + var waveEffect:FlxWaveEffect = cast this.effects[0]; + var strength = waveEffect.strength; + // Fade effect in + // alpha = 1.0; + FlxTween.num(1.0, 0.0, time, (n)-> + { + alpha = n; + waveEffect.strength = Math.floor(strength * FlxEase.circOut(Math.max(n - 0.5, 0) * 2)); + }); + } +} \ No newline at end of file diff --git a/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx b/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx new file mode 100644 index 000000000..e64ef1d5e --- /dev/null +++ b/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx @@ -0,0 +1,268 @@ +package ui; + +import flixel.FlxSprite; +import flixel.FlxG; +import flixel.addons.display.FlxSliceSprite; +import flixel.group.FlxGroup; +import flixel.group.FlxSpriteGroup; +import flixel.math.FlxRect; +import flixel.text.FlxText; +import flixel.ui.FlxBar; +import flixel.ui.FlxButton; +import flixel.util.FlxColor; + +/** + * A SubState that pauses the main menu to show the options UI + */ +class OptionsSubState extends flixel.FlxSubState +{ + public function new () + { + super(); + + // black-out the main menu + var back = new FlxSprite(); + back.makeGraphic(1, 1, 0x80000000); + back.setGraphicSize(FlxG.width, FlxG.height); + back.updateHitbox(); + add(back); + + // add the UI + var ui = new OptionsUI(()->close()); + add(ui); + } +} + +/** + * The UI that controls options, extends `FlxSpriteGroup` which changes its members + * when certain properties are changed, namely `x`, `y`, `alpha` and `scrollFactor`. + */ +class OptionsUI extends FlxGroup +{ + + // define our screen elements + var musicBar:VolumeBar; + var soundBar:VolumeBar; + var fullscreenButton:FlxButton; + + public function new (onClose:()->Void) + { + super(); + + if (FlxG.save.data.volumes == null) + initSave(); + + // Make a background to visially separate the ui from the game underneath + var bg = new FlxSliceSprite(AssetPaths.uiback__png, new FlxRect(16, 16, 16, 16), 200, 160); + // Stretch the sections rather than tiling them for better performance + bg.stretchTop + = bg.stretchRight + = bg.stretchLeft + = bg.stretchBottom + = bg.stretchCenter + = true; + bg.screenCenter(XY); + add(bg); + + // place the group in the screen center, this will move the bg, and anything added later + + var titleText = new LargeText(bg.x, bg.y + 4, "Options", 2); + titleText.screenCenter(X); + add(titleText); + + var gap = 8; + var barX = bg.x + gap; + var barY = titleText.y + titleText.height + gap; + var barWidth = bg.width - gap * 2; + + musicBar = new VolumeBar(barX, barY, barWidth, "Music", FlxG.sound.defaultMusicGroup.volume, updateMusic); + add(musicBar); + barY += musicBar.height + gap; + + soundBar = new VolumeBar(barX, barY, barWidth, "Sound", FlxG.sound.defaultSoundGroup.volume, updateSound); + add(soundBar); + // barY += soundBar.height + gap; + + fullscreenButton = new Button(0, soundBar.y + soundBar.height + 8, FlxG.fullscreen ? "Windowed" : "Fullscreen", clickFullscreen); + fullscreenButton.screenCenter(X); + add(fullscreenButton); + + var clearDataButton = new Button(bg.x + 10, 0, "Clear Data", clickClearData); + clearDataButton.y = bg.y + bg.height - clearDataButton.height - 10; + add(clearDataButton); + + var backButton = new Button(0, clearDataButton.y, "Back", onClose); + backButton.x = bg.x + bg.width - backButton.width - 10; + add(backButton); + } + + function clickFullscreen() + { + fullscreenButton.text = FlxG.fullscreen ? "Windowed" : "Fullscreen"; + FlxG.fullscreen = !FlxG.fullscreen; + FlxG.save.data.fullscreen = FlxG.fullscreen; + FlxG.save.flush(); + } + + function initSave() + { + FlxG.save.data.volumes = + { + music: FlxG.sound.defaultMusicGroup.volume, + sound: FlxG.sound.defaultSoundGroup.volume + }; + FlxG.sound.muted = false; + FlxG.sound.volume = 1.0; + FlxG.save.data.fullscreen = FlxG.fullscreen; + FlxG.save.flush(); + trace(FlxG.save.data); + } + + /** + * The user wants to clear the saved data - we just call erase on our save object and then reset the volume to .5 + */ + function clickClearData() + { + FlxG.save.erase(); + initSave(); + musicBar.setVolume(0.5, true); + soundBar.setVolume(1.0, true); + } + + /** + * Whenever we want to show the value of volume, we call this to change the bar and the amount text + */ + function updateMusic(volume:Float) + { + FlxG.sound.defaultMusicGroup.volume = volume; + FlxG.save.data.volumes.music = volume; + FlxG.save.flush(); + } + + /** + * Whenever we want to show the value of volume, we call this to change the bar and the amount text + */ + function updateSound(volume:Float) + { + FlxG.sound.defaultSoundGroup.volume = volume; + FlxG.save.data.volumes.sound = volume; + FlxG.save.flush(); + } +} + +class VolumeBar extends FlxSpriteGroup +{ + var bar:FlxBar; + var amountText:FlxText; + var label:String; + var onChange:(amount:Float)->Void; + + /** + * + * @param x + * @param y + * @param width + * @param label + * @param onChange + * @return + */ + public function new (x:Float, y:Float, width:Float, label:String, volume:Float, onChange:(amount:Float)->Void) + { + this.label = label; + this.onChange = onChange; + super(); + + // var label = new FlxText(0, 0, 0, label, 8); + // label.x = (width - label.width) / 2; + // add(label); + + // the volume buttons will be smaller than 'default' buttons + var downButton = new SmallButton(0, 0, "-", clickDown); + add(downButton); + + var upButton = new SmallButton(0, downButton.y, "+", clickUp); + upButton.x = width - upButton.width; + add(upButton); + + var barWidth = Std.int(width - (4 + upButton.width) * 2); + var barHeight = Std.int(upButton.height); + bar = new FlxBar(downButton.x + downButton.width + 4, downButton.y, LEFT_TO_RIGHT, barWidth, barHeight); + bar.createFilledBar(0xff464646, FlxColor.WHITE, true, FlxColor.WHITE); + add(bar); + + amountText = new FlxText(0, 0, 200, "100%", 8); + amountText.alignment = CENTER; + amountText.setBorderStyle(OUTLINE, 0xff464646); + amountText.x = bar.x + (bar.width - amountText.width) / 2; + amountText.y = bar.y + (bar.height - amountText.height) / 2; + add(amountText); + + // + this.x = x; + this.y = y; + setVolume(volume); + } + + function clickDown() + { + setVolumeHelper(bar.value - 10); + } + + function clickUp() + { + setVolumeHelper(bar.value + 10); + } + + function setVolumeHelper(volume:Float, dispatch = true) + { + bar.value = Math.round(volume); // Note: bar.value is automatically clamped between 0 and 100 + amountText.text = label + " " + bar.value + "%"; + + if (dispatch) + onChange(bar.value / 100); + } + + public function setVolume(volume:Float, dispatch = false) + { + setVolumeHelper(volume * 100, dispatch); + } + + override function destroy() + { + // remove references but do not destroy + bar = null; + amountText = null; + onChange = null; + + // this will actually destroy them + super.destroy(); + } +} + +/** + * Helper class for creating an 80x20 button + */ +class Button extends FlxButton +{ + public function new (x, y, label, onClick) + { + super(x, y, label, onClick); + + loadGraphic(AssetPaths.button__png, true, 80, 20); + onUp.sound = FlxG.sound.load(AssetPaths.select__wav); + } +} + +/** + * Helper class for creating small 20x20 buttons + */ +class SmallButton extends FlxButton +{ + public function new (x, y, label, onClick) + { + super(x, y, label, onClick); + + loadGraphic(AssetPaths.small_button__png, true, 20, 20); + onUp.sound = FlxG.sound.load(AssetPaths.select__wav); + } +} \ No newline at end of file From 23f9089e4b788362c4d9e0a7c5684582b5e38158 Mon Sep 17 00:00:00 2001 From: George FunBook Date: Tue, 19 Mar 2024 11:38:30 -0500 Subject: [PATCH 03/11] add disabled state to button --- Tutorials/TurnBasedRPG/assets/images/button.png | Bin 337 -> 427 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Tutorials/TurnBasedRPG/assets/images/button.png b/Tutorials/TurnBasedRPG/assets/images/button.png index 3a7dd92bab6a9a4a397c116f5af6d574890187dc..a9da791a077022e131b469427c4e050e3eae7644 100644 GIT binary patch delta 381 zcmcb}w3>N>czpl|8v_GFpWvspK#H+A$lZxy-8q?;Kz6F9i(^Q|oVRxl_8u}2VYv7{ zRO*DG?vdPp=58O}Ef2RGFjP(9&$wC8%rhy~@I8xpcFL0z@rtf4SE9aOxLtHk^J>)h z%6ZZ2mwLb6b@>z8v46Brelo!DAcbLo{p)|j zW8E#^|JZ)|DZxDPzNmJJ!-<9qkIjxXUa~yr!jP^c|G*%!8Z3+`K4GA&=r z(eEk4@*?@9$%>4^r4U#7Jyp;TX`EABq{Y58HS*i(rmdKI;Vst04PeQ7XSbN literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^0YGfS!3HEhs@wJeDaPU;cPEB*=VV?2+1#Ekjv*Cu z-rhdDw%I^{;o(-DaC>-RE)#dtU* z1*$5!?CoQ}$h~*SICFY}UKDy!riZ;y=!{TQ|A5T#0f&Z=_qU)Ku!kn$=fMLYo>FVdQ&MBb@07v Date: Tue, 19 Mar 2024 11:38:40 -0500 Subject: [PATCH 04/11] replace health with hp --- Tutorials/TurnBasedRPG/Project.xml | 1 + Tutorials/TurnBasedRPG/source/Enemy.hx | 14 +++++++--- Tutorials/TurnBasedRPG/source/PlayState.hx | 2 +- Tutorials/TurnBasedRPG/source/Player.hx | 11 +++++--- .../TurnBasedRPG/source/ui/CombatSubState.hx | 27 +++++++------------ 5 files changed, 29 insertions(+), 26 deletions(-) diff --git a/Tutorials/TurnBasedRPG/Project.xml b/Tutorials/TurnBasedRPG/Project.xml index 991008b2b..953991d75 100644 --- a/Tutorials/TurnBasedRPG/Project.xml +++ b/Tutorials/TurnBasedRPG/Project.xml @@ -62,6 +62,7 @@ + diff --git a/Tutorials/TurnBasedRPG/source/Enemy.hx b/Tutorials/TurnBasedRPG/source/Enemy.hx index 4fb0044bf..3a768cd14 100644 --- a/Tutorials/TurnBasedRPG/source/Enemy.hx +++ b/Tutorials/TurnBasedRPG/source/Enemy.hx @@ -28,15 +28,16 @@ class Enemy extends FlxSprite public var type(default, null):EnemyType; public var seesPlayer:Bool; public var playerPosition:FlxPoint; - public var maxHealth:Float; + public var maxHP:Int; + public var hp:Int; public function new(x:Float, y:Float, type:EnemyType) { super(x, y); changeType(type); - maxHealth = type == REGULAR ? 2 : 4; - health = maxHealth; + maxHP = type == REGULAR ? 2 : 4; + hp = maxHP; setFacingFlip(LEFT, true, false); setFacingFlip(RIGHT, false, false); @@ -58,8 +59,13 @@ class Enemy extends FlxSprite stepSound = FlxG.sound.load(AssetPaths.step__wav, 0.4); stepSound.proximity(x, y, FlxG.camera.target, FlxG.width * 0.6); } + + public function hurt(damage:Int) + { + hp -= damage; + } - override public function update(elapsed:Float) + override function update(elapsed:Float) { if (this.isFlickering()) return; diff --git a/Tutorials/TurnBasedRPG/source/PlayState.hx b/Tutorials/TurnBasedRPG/source/PlayState.hx index 7473eb04d..265097878 100644 --- a/Tutorials/TurnBasedRPG/source/PlayState.hx +++ b/Tutorials/TurnBasedRPG/source/PlayState.hx @@ -134,7 +134,7 @@ class PlayState extends FlxState function handleCombatOutcome(outcome:CombatOutcome, enemy:Enemy) { - hud.updateHealth(Std.int(player.health)); + hud.updateHealth(player.hp); switch(outcome) { case VICTORY: diff --git a/Tutorials/TurnBasedRPG/source/Player.hx b/Tutorials/TurnBasedRPG/source/Player.hx index c88ddf2ba..5217b8e75 100644 --- a/Tutorials/TurnBasedRPG/source/Player.hx +++ b/Tutorials/TurnBasedRPG/source/Player.hx @@ -11,10 +11,12 @@ class Player extends FlxSprite /** Reaches top speed in 0.15 seconds */ static inline var ACCEL:Float = SPEED / 0.15; - public final maxHealth:Float = 3.0; + public final maxHP:Int = 3; + public var hp:Int; public function new(x:Float = 0, y:Float = 0) { + hp = maxHP; super(x, y); loadGraphic(AssetPaths.player__png, true, 24, 24); @@ -31,8 +33,11 @@ class Player extends FlxSprite maxVelocity.x = maxVelocity.y = SPEED; setSize(12, 12); offset.set(6, 12); - - health = maxHealth; + } + + public function hurt(damage:Int) + { + hp -= damage; } override function update(elapsed:Float) diff --git a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx index 6f43cfc80..ccb805fb6 100644 --- a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx +++ b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx @@ -164,11 +164,11 @@ class CombatUI extends FlxSpriteGroup add(section); // Make a 'dummy' player and health bar - playerIcon = createAvatar(24, 8, player, player.maxHealth); + playerIcon = createAvatar(24, 8, player, player.maxHP); playerIcon.facing = RIGHT; // Make a 'dummy' enemy and health bar - enemyIcon = createAvatar(80, 8, enemy, enemy.maxHealth); + enemyIcon = createAvatar(80, 8, enemy, enemy.maxHP); enemyIcon.facing = LEFT; attackResults = new FlxTypedGroup(); @@ -215,8 +215,8 @@ class CombatUI extends FlxSpriteGroup bar.setRange(0, maxHealth); // tracks the target's health automatically bar.parent = target; - bar.parentVariable = "health"; - bar.value = target.health; + bar.parentVariable = "hp"; + bar.update(0);//redraw // yellow bar, yellow border, red underneath centerOn(bar, icon, X); add(bar); @@ -319,15 +319,6 @@ class CombatUI extends FlxSpriteGroup } } - /** - * Reduces the target's helth by the specified damage - */ - inline function hurtTarget(target:FlxSprite, damage:Int) - { - // subtracting floats from floats can cause arethmetic errors, so we convert to an int first - target.health = Std.int(target.health) - damage; - } - function showAttackResult(icon:FlxSprite, msg:String, ?onComplete:()->Void) { // recycle dead text @@ -358,7 +349,7 @@ class CombatUI extends FlxSpriteGroup .then(FlxTween.tween(enemyIcon, {x: enemyIcon.x}, 0.1)); // Deal 1 damage to the enemy - hurtTarget(enemy, 1); + enemy.hurt(1); result = "1"; } else @@ -369,7 +360,7 @@ class CombatUI extends FlxSpriteGroup } // Show the attack result then it's the enemy's turn - if (enemy.health > 0) + if (enemy.hp > 0) showAttackResult(enemyIcon, result, enemyAttack); else showAttackResult(enemyIcon, result, roundEnd); @@ -393,7 +384,7 @@ class CombatUI extends FlxSpriteGroup FlxTween.tween(playerIcon, {x: playerIcon.x - 4}, 0.1, {startDelay: 0.1}) .then(FlxTween.tween(playerIcon, {x: playerIcon.x}, 0.1)); // Deal 1 damage - hurtTarget(player, 1); + player.hurt(1); FlxG.sound.play(AssetPaths.hurt__wav); result = "1"; } @@ -409,9 +400,9 @@ class CombatUI extends FlxSpriteGroup function roundEnd() { - if (player.health <= 0) + if (player.hp <= 0) showOutcome(DEFEAT); - else if (enemy.health <= 0) + else if (enemy.hp <= 0) showOutcome(VICTORY); else { From f7af29f6709fd923f6386c2719cb5c9d893aef4b Mon Sep 17 00:00:00 2001 From: George FunBook Date: Thu, 4 Apr 2024 22:13:55 -0500 Subject: [PATCH 05/11] add kenney image bar --- .../TurnBasedRPG/assets/images/bar_empty.png | Bin 0 -> 143 bytes .../TurnBasedRPG/assets/images/bar_filled.png | Bin 0 -> 164 bytes Tutorials/TurnBasedRPG/assets/images/button.png | Bin 427 -> 418 bytes .../TurnBasedRPG/source/ui/CombatSubState.hx | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 Tutorials/TurnBasedRPG/assets/images/bar_empty.png create mode 100644 Tutorials/TurnBasedRPG/assets/images/bar_filled.png diff --git a/Tutorials/TurnBasedRPG/assets/images/bar_empty.png b/Tutorials/TurnBasedRPG/assets/images/bar_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..baec0777c8abc825a4ffcdcb6d45c6d7e21f9e58 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^azM<*!3HE3m%q~oQjEnx?oJHr&dIz4ay&g<978O6 z-%dHmdBB0^@SMJhf5SIlzhLX-EuO*W#oG4gNq=yIiss46JwD~rRX8W)GWb3znwtAg r%vt5(3=zAZNAHWjpM7~9`zD6#&8Ls~`};Kl4Q23j^>bP0l+XkK3u7{{ literal 0 HcmV?d00001 diff --git a/Tutorials/TurnBasedRPG/assets/images/bar_filled.png b/Tutorials/TurnBasedRPG/assets/images/bar_filled.png new file mode 100644 index 0000000000000000000000000000000000000000..20ca1b36be60d13cfb3384ce00a0300cf7861c14 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^azM<*!3HE3m%q~oQjEnx?oJHr&dIz4a^gH)978O6 zk6zix+hD-saxvd!_OW@*TEFuhw4N16u^F&BonpEX9{atdRacPlfI;=?^Do~qDF_}k z=yoVYqnSfqTUlu4i^KLBDI(F1Vz8!&SijmC{_s zrW1Qlz3X7+6;gR2Bsg*A`3sp_uLT)>uH1jWxt?jhLN_D0+uYc|C{iyJ8&V1eZwjEe@$|rQups ZC1YM>SgYH~=N}k=z|+;wWt~$(695Thp!xs+ delta 348 zcmZ3)yqbA}VSTEni(^Q|oVRxl_8u}2VYv7{RO*DG?vdPp=58O}Ef2RGFjP(9&$wC8 z%rhy~@I8xpcFL0z@rtf4SE9aOxLtHk^J>)h%6ZZ2mwLb6b@>z8v46Brelo!DA< zI3xw6`r^0cW^e6V*Yo(tk2ic^F(ZW(hZiqJ?B?lJ^;!#9NM)^Ed;P-NsMmkhbB=rt zayha|C+_9^054Bx7ngH8zeeqP>cbLo{p)|jW8E#^|JZ)|DZwl$05oH=0;7n^g~w*c z8ZTL%b74qVl7HaCqOo+zwd@Pqy#@EJESZ+C<>>d6VfkcPMwxuSrwaNZjdO~NwAh!X zMt(c}^iq{gTe~DWM4fK$@II diff --git a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx index ccb805fb6..705ea05bf 100644 --- a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx +++ b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx @@ -211,7 +211,7 @@ class CombatUI extends FlxSpriteGroup // create a health bar var bar = new FlxBar(0, icon.y + icon.height + 2, LEFT_TO_RIGHT, 30, 10); - bar.createFilledBar(0xffdc143c, FlxColor.YELLOW, true, FlxColor.YELLOW); + bar.createImageBar("assets/images/bar_empty.png", "assets/images/bar_filled.png", 0x0, 0x0); bar.setRange(0, maxHealth); // tracks the target's health automatically bar.parent = target; From 56bbf8a630aea786150be291e1a97a91d194cc12 Mon Sep 17 00:00:00 2001 From: George FunBook Date: Thu, 4 Apr 2024 22:27:38 -0500 Subject: [PATCH 06/11] readibility --- Tutorials/TurnBasedRPG/source/Enemy.hx | 26 +++++++------- .../TurnBasedRPG/source/GameOverState.hx | 3 +- Tutorials/TurnBasedRPG/source/LargeText.hx | 2 ++ Tutorials/TurnBasedRPG/source/MenuState.hx | 4 +++ Tutorials/TurnBasedRPG/source/PlayState.hx | 36 ++++++++++--------- Tutorials/TurnBasedRPG/source/Player.hx | 5 +++ .../TurnBasedRPG/source/ui/CombatSubState.hx | 15 +++++++- .../TurnBasedRPG/source/ui/OptionsSubState.hx | 4 +++ 8 files changed, 62 insertions(+), 33 deletions(-) diff --git a/Tutorials/TurnBasedRPG/source/Enemy.hx b/Tutorials/TurnBasedRPG/source/Enemy.hx index 3a768cd14..a57bb7d05 100644 --- a/Tutorials/TurnBasedRPG/source/Enemy.hx +++ b/Tutorials/TurnBasedRPG/source/Enemy.hx @@ -68,7 +68,9 @@ class Enemy extends FlxSprite override function update(elapsed:Float) { if (this.isFlickering()) + { return; + } var action = "idle"; if (velocity.x != 0 || velocity.y != 0) @@ -76,37 +78,31 @@ class Enemy extends FlxSprite action = "walk"; if (Math.abs(velocity.x) > Math.abs(velocity.y)) { - if (velocity.x < 0) - facing = LEFT; - else - facing = RIGHT; + facing = (velocity.x < 0) ? LEFT : RIGHT; } else { - if (velocity.y < 0) - facing = UP; - else - facing = DOWN; + facing = (velocity.y < 0) ? UP : DOWN; } - + stepSound.setPosition(x + width / 2, y + height); stepSound.play(); } - + switch (facing) { case LEFT, RIGHT: animation.play("lr_" + action); - + case UP: animation.play("u_" + action); - + case DOWN: animation.play("d_" + action); - + case _: } - + brain.update(elapsed); super.update(elapsed); } @@ -134,7 +130,9 @@ class Enemy extends FlxSprite idleTimer = FlxG.random.int(1, 4); } else + { idleTimer -= elapsed; + } } function chase(elapsed:Float) diff --git a/Tutorials/TurnBasedRPG/source/GameOverState.hx b/Tutorials/TurnBasedRPG/source/GameOverState.hx index 6288454fd..131d982d8 100644 --- a/Tutorials/TurnBasedRPG/source/GameOverState.hx +++ b/Tutorials/TurnBasedRPG/source/GameOverState.hx @@ -63,8 +63,9 @@ class GameOverState extends FlxState // Get previous highscore var highscore = 0; if (FlxG.save.data.highscore != null) + { highscore = FlxG.save.data.highscore; - + } var highscoreText = new FlxText(0, (FlxG.height / 2) + 10, 0, "Highscore: " + highscore, 8); add(highscoreText); diff --git a/Tutorials/TurnBasedRPG/source/LargeText.hx b/Tutorials/TurnBasedRPG/source/LargeText.hx index d566f75ff..df51b2dbe 100644 --- a/Tutorials/TurnBasedRPG/source/LargeText.hx +++ b/Tutorials/TurnBasedRPG/source/LargeText.hx @@ -17,7 +17,9 @@ abstract LargeText(FlxBitmapText) to FlxBitmapText final graphic = FlxG.bitmap.add(AssetPaths.font__png); final font = FlxBitmapFont.findFont(graphic.imageFrame.frame); if (font != null) + { return font; + } final chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ!"; final widths = ['I'.code=>3, '!'.code=>3, 'T'.code=>7]; diff --git a/Tutorials/TurnBasedRPG/source/MenuState.hx b/Tutorials/TurnBasedRPG/source/MenuState.hx index 3c1de5558..456d2eb9a 100644 --- a/Tutorials/TurnBasedRPG/source/MenuState.hx +++ b/Tutorials/TurnBasedRPG/source/MenuState.hx @@ -66,9 +66,13 @@ class MenuState extends FlxState { var volumes:{ music:Float, sound:Float } = null; if (FlxG.save.data.volumes != null) + { volumes = FlxG.save.data.volumes; + } else + { volumes = { music:0.5, sound:1.0 }; + } FlxG.sound.defaultMusicGroup.volume = volumes.music; FlxG.sound.defaultSoundGroup.volume = volumes.sound; diff --git a/Tutorials/TurnBasedRPG/source/PlayState.hx b/Tutorials/TurnBasedRPG/source/PlayState.hx index 265097878..10cbf292c 100644 --- a/Tutorials/TurnBasedRPG/source/PlayState.hx +++ b/Tutorials/TurnBasedRPG/source/PlayState.hx @@ -20,68 +20,68 @@ class PlayState extends FlxState var walls:FlxTilemap; var coins:FlxTypedGroup; var enemies:FlxTypedGroup; - + var hud:HUD; var money:Int = 0; - + #if mobile public static var virtualPad:FlxVirtualPad; #end - + override public function create() { #if FLX_MOUSE FlxG.mouse.visible = false; #end - + var map = new FlxOgmo3Loader(AssetPaths.turnBasedRPG__ogmo, AssetPaths.room_001__json); walls = map.loadTilemap(AssetPaths.tiles__png, "walls"); walls.follow(); walls.setTileProperties(0, NONE, null, null, 16); walls.setTileProperties(16, ANY, null, null, 20); add(walls); - + coins = new FlxTypedGroup(); add(coins); - + enemies = new FlxTypedGroup(); add(enemies); - + player = new Player(); map.loadEntities(placeEntities, "entities"); add(player); - + FlxG.camera.follow(player, TOPDOWN, 1); - + hud = new HUD(); add(hud); - + #if mobile virtualPad = new FlxVirtualPad(FULL, NONE); add(virtualPad); #end - + FlxG.camera.fade(FlxColor.BLACK, 0.33, true); - + super.create(); } - + function placeEntities(entity:EntityData) { var x = entity.x; var y = entity.y; - + switch (entity.name) { case "player": player.setPosition(x, y); - + case "coin": coins.add(new Coin(x + 4, y + 4)); - + case "enemy": enemies.add(new Enemy(x + 4, y, REGULAR)); - + case "boss": enemies.add(new Enemy(x + 4, y, BOSS)); } @@ -140,7 +140,9 @@ class PlayState extends FlxState case VICTORY: enemy.kill(); if (enemy.type == BOSS) + { fadeToGameOver(true); + } case ESCAPED: enemy.flicker(); case DEFEAT: diff --git a/Tutorials/TurnBasedRPG/source/Player.hx b/Tutorials/TurnBasedRPG/source/Player.hx index 5217b8e75..8fbe27d07 100644 --- a/Tutorials/TurnBasedRPG/source/Player.hx +++ b/Tutorials/TurnBasedRPG/source/Player.hx @@ -90,9 +90,14 @@ class Player extends FlxSprite // Cancel out opposing directions if (up && down) + { up = down = false; + } + if (left && right) + { left = right = false; + } acceleration.set(0, 0); if (right) diff --git a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx index 705ea05bf..7d7169622 100644 --- a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx +++ b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx @@ -361,9 +361,13 @@ class CombatUI extends FlxSpriteGroup // Show the attack result then it's the enemy's turn if (enemy.hp > 0) + { showAttackResult(enemyIcon, result, enemyAttack); + } else + { showAttackResult(enemyIcon, result, roundEnd); + } } function enemyAttack() @@ -401,9 +405,13 @@ class CombatUI extends FlxSpriteGroup function roundEnd() { if (player.hp <= 0) + { showOutcome(DEFEAT); + } else if (enemy.hp <= 0) + { showOutcome(VICTORY); + } else { // Enables UI for net turn @@ -427,7 +435,7 @@ class CombatUI extends FlxSpriteGroup function (_) { // Hold it there for a sec, then start the outro - new FlxTimer().start(1.0, (_)->callback(outcome)); + FlxTimer.wait(1.0, ()->callback(outcome)); } }); } @@ -438,9 +446,14 @@ class CombatUI extends FlxSpriteGroup static inline function centerOn(sprite:FlxSprite, target:FlxSprite, axes:FlxAxes = XY) { if (axes.x) + { sprite.x = target.x + (target.width - sprite.width) / 2; + } + if (axes.y) + { sprite.y = target.y + (target.height - sprite.height) / 2; + } } } diff --git a/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx b/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx index e64ef1d5e..41b33993d 100644 --- a/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx +++ b/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx @@ -50,7 +50,9 @@ class OptionsUI extends FlxGroup super(); if (FlxG.save.data.volumes == null) + { initSave(); + } // Make a background to visially separate the ui from the game underneath var bg = new FlxSliceSprite(AssetPaths.uiback__png, new FlxRect(16, 16, 16, 16), 200, 160); @@ -219,7 +221,9 @@ class VolumeBar extends FlxSpriteGroup amountText.text = label + " " + bar.value + "%"; if (dispatch) + { onChange(bar.value / 100); + } } public function setVolume(volume:Float, dispatch = false) From 40df9847504d09263540fed610a02a90f09b3fcb Mon Sep 17 00:00:00 2001 From: George FunBook Date: Thu, 4 Apr 2024 22:50:48 -0500 Subject: [PATCH 07/11] move to packges --- Tutorials/TurnBasedRPG/source/Main.hx | 1 + Tutorials/TurnBasedRPG/source/{ => states}/GameOverState.hx | 3 ++- Tutorials/TurnBasedRPG/source/{ => states}/MenuState.hx | 3 ++- Tutorials/TurnBasedRPG/source/{ => states}/OptionsState.hx | 2 +- Tutorials/TurnBasedRPG/source/{ => states}/PlayState.hx | 3 ++- Tutorials/TurnBasedRPG/source/{ => ui}/HUD.hx | 2 +- Tutorials/TurnBasedRPG/source/{ => ui}/LargeText.hx | 2 ++ 7 files changed, 11 insertions(+), 5 deletions(-) rename Tutorials/TurnBasedRPG/source/{ => states}/GameOverState.hx (98%) rename Tutorials/TurnBasedRPG/source/{ => states}/MenuState.hx (98%) rename Tutorials/TurnBasedRPG/source/{ => states}/OptionsState.hx (99%) rename Tutorials/TurnBasedRPG/source/{ => states}/PlayState.hx (99%) rename Tutorials/TurnBasedRPG/source/{ => ui}/HUD.hx (99%) rename Tutorials/TurnBasedRPG/source/{ => ui}/LargeText.hx (99%) diff --git a/Tutorials/TurnBasedRPG/source/Main.hx b/Tutorials/TurnBasedRPG/source/Main.hx index 44c432989..ad37778ca 100644 --- a/Tutorials/TurnBasedRPG/source/Main.hx +++ b/Tutorials/TurnBasedRPG/source/Main.hx @@ -4,6 +4,7 @@ import flixel.FlxG; import flixel.FlxGame; import flixel.util.FlxSave; import openfl.display.Sprite; +import states.MenuState; class Main extends Sprite { diff --git a/Tutorials/TurnBasedRPG/source/GameOverState.hx b/Tutorials/TurnBasedRPG/source/states/GameOverState.hx similarity index 98% rename from Tutorials/TurnBasedRPG/source/GameOverState.hx rename to Tutorials/TurnBasedRPG/source/states/GameOverState.hx index 131d982d8..d5758c50f 100644 --- a/Tutorials/TurnBasedRPG/source/GameOverState.hx +++ b/Tutorials/TurnBasedRPG/source/states/GameOverState.hx @@ -1,4 +1,4 @@ -package; +package states; import flixel.util.FlxTimer; import flixel.tweens.FlxEase; @@ -11,6 +11,7 @@ import flixel.text.FlxText; import flixel.ui.FlxButton; import flixel.util.FlxAxes; import flixel.util.FlxColor; +import ui.LargeText; class GameOverState extends FlxState { diff --git a/Tutorials/TurnBasedRPG/source/MenuState.hx b/Tutorials/TurnBasedRPG/source/states/MenuState.hx similarity index 98% rename from Tutorials/TurnBasedRPG/source/MenuState.hx rename to Tutorials/TurnBasedRPG/source/states/MenuState.hx index 456d2eb9a..ea92059e3 100644 --- a/Tutorials/TurnBasedRPG/source/MenuState.hx +++ b/Tutorials/TurnBasedRPG/source/states/MenuState.hx @@ -1,6 +1,7 @@ -package; +package states; import ui.OptionsSubState; +import ui.LargeText; import flixel.FlxG; import flixel.FlxState; import flixel.text.FlxBitmapText; diff --git a/Tutorials/TurnBasedRPG/source/OptionsState.hx b/Tutorials/TurnBasedRPG/source/states/OptionsState.hx similarity index 99% rename from Tutorials/TurnBasedRPG/source/OptionsState.hx rename to Tutorials/TurnBasedRPG/source/states/OptionsState.hx index 0a497d913..2348956f2 100644 --- a/Tutorials/TurnBasedRPG/source/OptionsState.hx +++ b/Tutorials/TurnBasedRPG/source/states/OptionsState.hx @@ -1,4 +1,4 @@ -package; +package states; import flixel.FlxG; import flixel.FlxState; diff --git a/Tutorials/TurnBasedRPG/source/PlayState.hx b/Tutorials/TurnBasedRPG/source/states/PlayState.hx similarity index 99% rename from Tutorials/TurnBasedRPG/source/PlayState.hx rename to Tutorials/TurnBasedRPG/source/states/PlayState.hx index 10cbf292c..816e0168d 100644 --- a/Tutorials/TurnBasedRPG/source/PlayState.hx +++ b/Tutorials/TurnBasedRPG/source/states/PlayState.hx @@ -1,4 +1,4 @@ -package; +package states; import flixel.FlxG; import flixel.FlxState; @@ -11,6 +11,7 @@ import flixel.util.FlxColor; import flixel.ui.FlxVirtualPad; #end import ui.CombatSubState; +import ui.HUD; using flixel.util.FlxSpriteUtil; diff --git a/Tutorials/TurnBasedRPG/source/HUD.hx b/Tutorials/TurnBasedRPG/source/ui/HUD.hx similarity index 99% rename from Tutorials/TurnBasedRPG/source/HUD.hx rename to Tutorials/TurnBasedRPG/source/ui/HUD.hx index bb8de6964..0ad5faf42 100644 --- a/Tutorials/TurnBasedRPG/source/HUD.hx +++ b/Tutorials/TurnBasedRPG/source/ui/HUD.hx @@ -1,4 +1,4 @@ -package; +package ui; import flixel.FlxG; import flixel.FlxSprite; diff --git a/Tutorials/TurnBasedRPG/source/LargeText.hx b/Tutorials/TurnBasedRPG/source/ui/LargeText.hx similarity index 99% rename from Tutorials/TurnBasedRPG/source/LargeText.hx rename to Tutorials/TurnBasedRPG/source/ui/LargeText.hx index df51b2dbe..dd3f87120 100644 --- a/Tutorials/TurnBasedRPG/source/LargeText.hx +++ b/Tutorials/TurnBasedRPG/source/ui/LargeText.hx @@ -1,3 +1,5 @@ +package ui; + import flixel.FlxG; import flixel.math.FlxPoint; import flixel.math.FlxRect; From f280ee27dca4ff64863b41e9be2b8d214427db43 Mon Sep 17 00:00:00 2001 From: George FunBook Date: Thu, 4 Apr 2024 23:25:06 -0500 Subject: [PATCH 08/11] doc --- Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx b/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx index 41b33993d..a17242f2f 100644 --- a/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx +++ b/Tutorials/TurnBasedRPG/source/ui/OptionsSubState.hx @@ -244,7 +244,7 @@ class VolumeBar extends FlxSpriteGroup } /** - * Helper class for creating an 80x20 button + * Helper class for creating an 80x20 button with a custom graphic */ class Button extends FlxButton { From cf3608b1c099c607103884a26e6ed3a8c83a1b2b Mon Sep 17 00:00:00 2001 From: George FunBook Date: Fri, 5 Apr 2024 13:01:33 -0500 Subject: [PATCH 09/11] move more files --- Tutorials/TurnBasedRPG/source/{ => objects}/Coin.hx | 2 +- Tutorials/TurnBasedRPG/source/{ => objects}/Enemy.hx | 2 +- Tutorials/TurnBasedRPG/source/{ => objects}/FSM.hx | 2 ++ Tutorials/TurnBasedRPG/source/{ => objects}/Player.hx | 2 +- Tutorials/TurnBasedRPG/source/states/PlayState.hx | 3 +++ Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx | 3 +++ Tutorials/TurnBasedRPG/source/ui/HUD.hx | 1 + 7 files changed, 12 insertions(+), 3 deletions(-) rename Tutorials/TurnBasedRPG/source/{ => objects}/Coin.hx (96%) rename Tutorials/TurnBasedRPG/source/{ => objects}/Enemy.hx (99%) rename Tutorials/TurnBasedRPG/source/{ => objects}/FSM.hx (91%) rename Tutorials/TurnBasedRPG/source/{ => objects}/Player.hx (99%) diff --git a/Tutorials/TurnBasedRPG/source/Coin.hx b/Tutorials/TurnBasedRPG/source/objects/Coin.hx similarity index 96% rename from Tutorials/TurnBasedRPG/source/Coin.hx rename to Tutorials/TurnBasedRPG/source/objects/Coin.hx index 2d617df43..4f8d39dad 100644 --- a/Tutorials/TurnBasedRPG/source/Coin.hx +++ b/Tutorials/TurnBasedRPG/source/objects/Coin.hx @@ -1,4 +1,4 @@ -package; +package objects; import flixel.FlxSprite; import flixel.tweens.FlxEase; diff --git a/Tutorials/TurnBasedRPG/source/Enemy.hx b/Tutorials/TurnBasedRPG/source/objects/Enemy.hx similarity index 99% rename from Tutorials/TurnBasedRPG/source/Enemy.hx rename to Tutorials/TurnBasedRPG/source/objects/Enemy.hx index a57bb7d05..22172f4bb 100644 --- a/Tutorials/TurnBasedRPG/source/Enemy.hx +++ b/Tutorials/TurnBasedRPG/source/objects/Enemy.hx @@ -1,4 +1,4 @@ -package; +package objects; import flixel.FlxG; import flixel.FlxSprite; diff --git a/Tutorials/TurnBasedRPG/source/FSM.hx b/Tutorials/TurnBasedRPG/source/objects/FSM.hx similarity index 91% rename from Tutorials/TurnBasedRPG/source/FSM.hx rename to Tutorials/TurnBasedRPG/source/objects/FSM.hx index 9a7c4f116..8a6dd49c4 100644 --- a/Tutorials/TurnBasedRPG/source/FSM.hx +++ b/Tutorials/TurnBasedRPG/source/objects/FSM.hx @@ -1,3 +1,5 @@ +package objects; + class FSM { public var activeState:Float->Void; diff --git a/Tutorials/TurnBasedRPG/source/Player.hx b/Tutorials/TurnBasedRPG/source/objects/Player.hx similarity index 99% rename from Tutorials/TurnBasedRPG/source/Player.hx rename to Tutorials/TurnBasedRPG/source/objects/Player.hx index 8fbe27d07..5ed1a8c8e 100644 --- a/Tutorials/TurnBasedRPG/source/Player.hx +++ b/Tutorials/TurnBasedRPG/source/objects/Player.hx @@ -1,4 +1,4 @@ -package; +package objects; import flixel.FlxG; import flixel.FlxSprite; diff --git a/Tutorials/TurnBasedRPG/source/states/PlayState.hx b/Tutorials/TurnBasedRPG/source/states/PlayState.hx index 816e0168d..9b6d0dcaf 100644 --- a/Tutorials/TurnBasedRPG/source/states/PlayState.hx +++ b/Tutorials/TurnBasedRPG/source/states/PlayState.hx @@ -10,6 +10,9 @@ import flixel.util.FlxColor; #if mobile import flixel.ui.FlxVirtualPad; #end +import objects.Coin; +import objects.Enemy; +import objects.Player; import ui.CombatSubState; import ui.HUD; diff --git a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx index 7d7169622..c144676bf 100644 --- a/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx +++ b/Tutorials/TurnBasedRPG/source/ui/CombatSubState.hx @@ -17,6 +17,9 @@ import flixel.addons.display.FlxSliceSprite; import flixel.addons.effects.chainable.FlxEffectSprite; import flixel.addons.effects.chainable.FlxWaveEffect; +import objects.Player; +import objects.Enemy; + import openfl.filters.ColorMatrixFilter; import openfl.geom.Matrix; import openfl.geom.Point; diff --git a/Tutorials/TurnBasedRPG/source/ui/HUD.hx b/Tutorials/TurnBasedRPG/source/ui/HUD.hx index 0ad5faf42..b240d19a1 100644 --- a/Tutorials/TurnBasedRPG/source/ui/HUD.hx +++ b/Tutorials/TurnBasedRPG/source/ui/HUD.hx @@ -5,6 +5,7 @@ import flixel.FlxSprite; import flixel.group.FlxGroup.FlxTypedGroup; import flixel.text.FlxText; import flixel.util.FlxColor; +import objects.Coin; using flixel.util.FlxSpriteUtil; From 22be26fb8cebef52965d6c8bf475b51e7c10255e Mon Sep 17 00:00:00 2001 From: George FunBook Date: Fri, 5 Apr 2024 19:13:06 -0500 Subject: [PATCH 10/11] make resizable on html5 --- Tutorials/TurnBasedRPG/Project.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorials/TurnBasedRPG/Project.xml b/Tutorials/TurnBasedRPG/Project.xml index 953991d75..5a54627d5 100644 --- a/Tutorials/TurnBasedRPG/Project.xml +++ b/Tutorials/TurnBasedRPG/Project.xml @@ -19,7 +19,7 @@ - + From 455087462675662067c2858cbc064e8517c5a473 Mon Sep 17 00:00:00 2001 From: George FunBook Date: Tue, 9 Apr 2024 09:12:34 -0500 Subject: [PATCH 11/11] use weak point --- Tutorials/TurnBasedRPG/source/objects/Enemy.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tutorials/TurnBasedRPG/source/objects/Enemy.hx b/Tutorials/TurnBasedRPG/source/objects/Enemy.hx index 22172f4bb..4d868fcf8 100644 --- a/Tutorials/TurnBasedRPG/source/objects/Enemy.hx +++ b/Tutorials/TurnBasedRPG/source/objects/Enemy.hx @@ -152,7 +152,7 @@ class Enemy extends FlxSprite // Store the player position player.getMidpoint(playerPosition); // Cast a ray from here to the player and see if a wall is blocking - seesPlayer = walls.ray(getMidpoint(), playerPosition); + seesPlayer = walls.ray(getMidpoint(FlxPoint.weak()), playerPosition); } public function changeType(type:EnemyType)