Aplicacions amb Flutter, Dart i Flame

Tutorial Flutter Flame Projectes   Recursos CITCEA
Exemples Dart Dades pràctiques     Inici

Efecte de partícules

A Flame hi ha la possibilitat de fer aparèixer un efecte d'emissió de partícules al voltant d'un punt. L'aplicació més usual és simular una explosió i es fa que les partícules projectades siguin d'un color adient, com blanc o groc.

Per fer-lo servir, hem d'afegir al joc un ParticleSystemComponent al qual li indiquem la posició i les característiques destitjades. A nivell general cal definir el nombre i la vida (en segons) de les partícules. A més, per a cada partícula definim la velocitat, l'acceleració, el radi (en cas de partícules circulars) i el color.

Si això ho posem dins d'un element del joc, podem agafar-ne fàcilment les coordenades fent:

...
  position: position.clone(), // Sortiran des del centre de l'element actual
...

A continuació hi ha un exemple:

...
  // Efecte de partícules en explosió
  void _creaExplosioParticules() {
    final random = Random();
    // Afegim el sistema de partícules directament al món del joc
    game.world.add(
      ParticleSystemComponent(
        position: position.clone(), // Sortiran des del centre del totxo actual
        particle: Particle.generate(
          count: 15, // Nombre de partícules de l'explosió
          lifespan: 0.4, // Durada de l'efecte en segons
          generator: (i) {
            // Calculem una direcció i velocitat aleatòria (360 graus)
            final angle = random.nextDouble() * 2 * pi;
            final velocitat = random.nextDouble() * 120 + 60;
            return AcceleratedParticle(
              acceleration: Vector2(0, 250), // Gravetat cap avall perquè caiguin
              speed: Vector2(cos(angle), sin(angle)) * velocitat,
              child: CircleParticle(
                radius: 2.0 + random.nextDouble() * 3.0, // Mida aleatòria de la partícula
                paint: Paint()..color = Color(0xFFAADDEE), 
              ),
            );
          },
        ),
      ),
    );
  }
...

En aquest apartat del joc de trencar totxos podem veure un exemple en el qual es fa servir aquest efecte.

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.