From 9f6cb21a7649df65d56bbd2cdb2972153c93948f Mon Sep 17 00:00:00 2001 From: David Kotnik Date: Sat, 31 Jan 2026 08:27:05 +0100 Subject: [PATCH] Implementacija rasti trave in inventarja za travo --- .../src/scenes/GrassScene_Clean.js | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/nova farma TRAE/src/scenes/GrassScene_Clean.js b/nova farma TRAE/src/scenes/GrassScene_Clean.js index e74326a1e..9b3be7d84 100644 --- a/nova farma TRAE/src/scenes/GrassScene_Clean.js +++ b/nova farma TRAE/src/scenes/GrassScene_Clean.js @@ -164,6 +164,15 @@ export default class GrassSceneClean extends Phaser.Scene { allowGravity: false }); + // INVENTAR + this.inventory = { grass: 0 }; + this.inventoryText = this.add.text(20, 20, 'Trava: 0', { + fontSize: '32px', + fill: '#ffffff', + stroke: '#000000', + strokeThickness: 4 + }).setScrollFactor(0).setDepth(1000); // UI always on top + const GRASS_COUNT = 3000; const SPREAD = 4000; // 4000px radius okoli centra @@ -176,10 +185,21 @@ export default class GrassSceneClean extends Phaser.Scene { // Ustvari travo in jo dodaj v grupo let grass = this.grassGroup.create(x, y, key); - grass.setScale(0.5 + Math.random() * 0.5); + let targetScale = 0.5 + Math.random() * 0.5; + grass.setScale(0); // Start at 0 for growth animation grass.setAngle(Math.random() * 20 - 10); grass.setAlpha(0.8 + Math.random() * 0.2); + // Growth Tween + this.tweens.add({ + targets: grass, + scaleX: targetScale, + scaleY: targetScale, + duration: 500 + Math.random() * 500, + delay: Math.random() * 1000, + ease: 'Back.out' + }); + // Physics body (circle for better feel) if (grass.body) { grass.body.setCircle(grass.width / 4); @@ -768,6 +788,10 @@ export default class GrassSceneClean extends Phaser.Scene { this.physics.overlap(this.kai, this.grassGroup, (player, grass) => { // 1. Uniči travo grass.destroy(); + + // 2. Dodaj v inventar + this.inventory.grass++; + this.inventoryText.setText('Trava: ' + this.inventory.grass); }); }