From 6413a682d6ee3e4d509b6eb3fea2f3b7bb834099 Mon Sep 17 00:00:00 2001 From: nadiarvi Date: Wed, 30 Apr 2025 02:47:44 +0900 Subject: [PATCH] add scene manager --- src/cat.js | 7 +++++++ src/main.js | 3 --- src/scenes/gameScene.js | 10 ++++++---- src/scenes/startScene.js | 12 +++++++++++- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/cat.js b/src/cat.js index d84dc27..ac57d9d 100644 --- a/src/cat.js +++ b/src/cat.js @@ -49,5 +49,12 @@ export class Cat { this.sprite.position.y = y; }; }; + + remove() { + if (!this.sprite) return; + + this.sprite.remove(); + this.sprite = null; + } } \ No newline at end of file diff --git a/src/main.js b/src/main.js index e15553f..5f4b46d 100644 --- a/src/main.js +++ b/src/main.js @@ -1,5 +1,3 @@ -console.log("start fresh :)"); - import { colors } from './theme.js'; import StartScene from './scenes/startScene.js'; import GameScene from './scenes/gameScene.js'; @@ -15,7 +13,6 @@ function setup(){ mgr = new SceneManager(); mgr.addScene(StartScene); mgr.addScene(GameScene); - mgr.showScene(StartScene); }; diff --git a/src/scenes/gameScene.js b/src/scenes/gameScene.js index 248ded1..e5728c7 100644 --- a/src/scenes/gameScene.js +++ b/src/scenes/gameScene.js @@ -2,16 +2,18 @@ import { colors } from '../theme.js'; import { draw as drawWorld, groundHeight } from '../world.js'; import { Cat } from '../cat.js'; -export default function GameScene(p) { +export default function GameScene() { let cat; + this.name = "GameScene"; this.setup = () => { - cat = new Cat(width / 2, height - 200, 200); + // cat = new Cat(width / 2, height - 200, 200); }; this.draw = () => { // drawWorld(p, groundHeight); - cat.update(); - cat.draw(); + // cat.update(); + // cat.draw(); + text('dan yap', width / 2, height / 2 - 100); }; } diff --git a/src/scenes/startScene.js b/src/scenes/startScene.js index 59cdb06..3b10dbb 100644 --- a/src/scenes/startScene.js +++ b/src/scenes/startScene.js @@ -1,5 +1,6 @@ import { colors } from '../theme.js'; import { Cat } from '../cat.js'; +import GameScene from './gameScene.js'; export default function StartScene() { let cat; @@ -10,6 +11,8 @@ export default function StartScene() { height: 0, }; + // this.name = "StartScene"; + this.setup = () => { cat = new Cat(width / 2, height - 200, 200); }; @@ -64,7 +67,14 @@ export default function StartScene() { if (x < button.x || x > button.x + button.width) return; if (y < button.y || y > button.y + button.height) return; - this.sceneManager.showNextScene(); + this.sceneManager.showScene(GameScene); }; + + this.exit = function () { + if (cat) { + cat.remove() + } + }; + }