diff --git a/games/whopixels/IMPROVEMENTS.md b/games/whopixels/IMPROVEMENTS.md index 3743c4719..f0c2f05bf 100644 --- a/games/whopixels/IMPROVEMENTS.md +++ b/games/whopixels/IMPROVEMENTS.md @@ -35,7 +35,7 @@ ## Performance - [x] **19. Object Pooling** — Partikel-Pool einmalig erstellt, Emitter wird wiederverwendet statt neu erstellt -- [ ] **20. Phaser-Version updaten** — Von 3.55.2 auf 3.80+ (Breaking Changes bei Particle-API, benötigt umfassende Tests) +- [x] **20. Phaser-Version updaten** — Von 3.55.2 auf 3.80.1, Particle-API auf neue `add.particles(x, y, key, config)` Syntax migriert ## Lokalisierung diff --git a/games/whopixels/index.html b/games/whopixels/index.html index 0c8584dc7..4d1f7d81b 100644 --- a/games/whopixels/index.html +++ b/games/whopixels/index.html @@ -10,7 +10,7 @@
- + diff --git a/games/whopixels/js/managers/NPCManager.js b/games/whopixels/js/managers/NPCManager.js index b880f7e50..ef743db3a 100644 --- a/games/whopixels/js/managers/NPCManager.js +++ b/games/whopixels/js/managers/NPCManager.js @@ -21,9 +21,7 @@ class NPCManager { this.npcDialog = null; this.interactionPrompt = null; - // Partikel-Pool (wiederverwendbar) - /** @type {Phaser.GameObjects.Particles.ParticleEmitterManager|null} */ - this._particlePool = null; + // Partikel-Emitter (wiederverwendbar) /** @type {Phaser.GameObjects.Particles.ParticleEmitter|null} */ this._emitter = null; } @@ -84,18 +82,16 @@ class NPCManager { } _initParticlePool() { - this._particlePool = this.scene.add.particles('particle'); - if (this._particlePool.createEmitter) { - this._emitter = this._particlePool.createEmitter({ - speed: { min: 50, max: 100 }, - angle: { min: 0, max: 360 }, - scale: { start: 0.5, end: 0 }, - blendMode: 'ADD', - lifespan: GAME_CONFIG.ANIMATIONS.PARTICLE_LIFETIME, - gravityY: 0, - on: false, // Startet deaktiviert - }); - } + // Phaser 3.60+ API: add.particles() gibt direkt einen ParticleEmitter zurück + this._emitter = this.scene.add.particles(0, 0, 'particle', { + speed: { min: 50, max: 100 }, + angle: { min: 0, max: 360 }, + scale: { start: 0.5, end: 0 }, + blendMode: 'ADD', + lifespan: GAME_CONFIG.ANIMATIONS.PARTICLE_LIFETIME, + gravityY: 0, + emitting: false, + }); } spawnNewNPC() {