Implementacija rasti trave in inventarja za travo

This commit is contained in:
2026-01-31 08:27:05 +01:00
parent 70801d861d
commit 9f6cb21a76

View File

@@ -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);
});
}