diff --git a/src/game/gameScene.js b/src/game/gameScene.js
index 64e6e39..34fd1aa 100644
--- a/src/game/gameScene.js
+++ b/src/game/gameScene.js
@@ -1,4 +1,5 @@
import Phaser, { Animations } from "phaser";
+import { steps } from "../stores/step";
import { keys } from "./input";
const textureWidth = 100;
@@ -18,12 +19,14 @@ export class GameScene extends Phaser.Scene {
offset: { x: number, y: nunber },
size: { x: number, y: number },
px: number,
+ steps: number,
map: (string | null | {
type: string,
direction?: number
})[][]
}} */
this.map = map;
+ steps.set(map.steps);
}
preload() {
@@ -87,7 +90,6 @@ export class GameScene extends Phaser.Scene {
var type = item.type;
if(type === "angel") type = this.map.sprite;
if(this.textures.get(type).frameTotal > 1) {
- console.log("Generating animation for", item);
var sprite = this.add.sprite(x * this.map.px, y * this.map.px);
item.animated = true;
if(!this.anims.exists(type)) {
@@ -117,6 +119,12 @@ export class GameScene extends Phaser.Scene {
this.player.x = x;
this.player.y = y;
}
+ if(item.type !== "wind") {
+ item.sprite.setDepth(1);
+ } else {
+ item.sprite.setDepth(0);
+ }
+ this.children.queueDepthSort();
} else {
item.sprite = null;
}
@@ -159,7 +167,7 @@ export class GameScene extends Phaser.Scene {
}
}
- movePlayer(moveX, moveY) {
+ movePlayer(moveX, moveY, fromWind = false) {
if(!this.canMove) return;
var toX = this.player.x + moveX;
var toY = this.player.y + moveY;
@@ -171,13 +179,16 @@ export class GameScene extends Phaser.Scene {
this.move(toX, toY, toX + moveX, toY + moveY);
}
this.canMove = false;
+ if(!fromWind) {
+ steps.update(t => --t);
+ }
this.move(this.player.x, this.player.y, toX, toY, () => {
this.canMove = true;
this.player.x = toX;
this.player.y = toY;
if(this.winds[toX][toY]) {
var movement = this.getMovementFromDirection(this.winds[toX][toY].direction);
- this.movePlayer(movement.x, movement.y);
+ this.movePlayer(movement.x, movement.y, true);
}
});
}
diff --git a/src/game/maps.js b/src/game/maps.js
index abe4b8f..2e26019 100644
--- a/src/game/maps.js
+++ b/src/game/maps.js
@@ -13,6 +13,7 @@ function wind(direction) {
offset: { x: number, y: nunber },
size: { x: number, y: number },
px: number,
+ steps: number,
map: {
x: number,
y: number,
@@ -33,6 +34,7 @@ export const maps = {
x: 5,
y: 7
},
+ steps: 11,
px: 100, // block size
map: [
["barrier", "barrier", "angel" , "barrier", "barrier"],
diff --git a/src/pages/game.svelte b/src/pages/game.svelte
index 41cbcd8..1893f87 100644
--- a/src/pages/game.svelte
+++ b/src/pages/game.svelte
@@ -4,6 +4,7 @@
import { characters } from "../stores/characters.js";
import { onMount } from "svelte";
import { setCanvas, setMap, resize, stop } from "../game";
+ import { steps } from "../stores/step";
export var current;
@@ -29,7 +30,6 @@
return Array(+digits.join("") + 1).join("M") + roman;
}
- var steps = 11;
var canvas;
onMount(() => {
@@ -46,6 +46,6 @@
-
+
\ No newline at end of file
diff --git a/src/stores/step.js b/src/stores/step.js
new file mode 100644
index 0000000..a527856
--- /dev/null
+++ b/src/stores/step.js
@@ -0,0 +1,3 @@
+import { writable } from "svelte/store";
+
+export const steps = writable(0);
\ No newline at end of file