From 56ef97ac9500edf166a2814b991eba70f182a97a Mon Sep 17 00:00:00 2001 From: David Kotnik Date: Sat, 31 Jan 2026 08:06:19 +0100 Subject: [PATCH] Dodajanje trave (foliage) na mapo --- .../src/scenes/GrassScene_Clean.js | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/nova farma TRAE/src/scenes/GrassScene_Clean.js b/nova farma TRAE/src/scenes/GrassScene_Clean.js index b1627c87b..d9c8fe792 100644 --- a/nova farma TRAE/src/scenes/GrassScene_Clean.js +++ b/nova farma TRAE/src/scenes/GrassScene_Clean.js @@ -151,7 +151,35 @@ export default class GrassSceneClean extends Phaser.Scene { */ // --- 3. FOLIAGE (Trava - Šopi) --- - // Removed as requested + // Generiranje trave okoli igralca (ne po celi mapi zaradi performance) + const GRASS_COUNT = 3000; + const SPREAD = 4000; // 4000px radius okoli centra + + for (let i = 0; i < GRASS_COUNT; i++) { + // Random pozicija okoli centra + let x = (WORLD_W / 2) + (Math.random() * SPREAD * 2 - SPREAD); + let y = (WORLD_H / 2) + (Math.random() * SPREAD * 2 - SPREAD); + + // 80% verjetnost za navadno travo, 20% za visoko + let key = Math.random() > 0.2 ? 'grass_dense' : 'grass_tall'; + + let grass = this.add.image(x, y, key); + + // Randomizacija + grass.setScale(0.5 + Math.random() * 0.5); // 0.5 do 1.0 + grass.setAngle(Math.random() * 20 - 10); // Rahla rotacija + grass.setAlpha(0.8 + Math.random() * 0.2); // Rahla prosojnost + + if (key === 'grass_tall') { + grass.setOrigin(0.5, 0.9); // Pivot spodaj + grass.setDepth(y); // Y-sortiranje za visoko travo + } else { + grass.setDepth(y - 50); // Nizka trava je vedno pod igralcem, a nad tlemi + } + + // Interakcija (opcijsko, za lepši občutek) + // grass.setInteractive(); + } // --- 4. ITEMS & OBSTACLES --- // REMOVED PER USER REQUEST