update method

dynamic update({
  1. bool? y,
  2. bool? x,
})

Lista de colores para las partículas.

Cada partícula selecciona un color aleatorio de esta lista. Se recomienda usar colores con alpha (semi-transparentes) para efectos más sutiles y elegantes.

Ejemplo:

colors: [
  Colors.blue.withValues(alpha: 0.6),
  Colors.purple.withValues(alpha: 0.6),
]

Implementation

update({bool? y, bool? x}) {

/// Factor que determina la variación de tamaño de las partículas.
///
/// Un valor más alto genera partículas más grandes.
///
/// - **2-4**: Partículas muy pequeñas (efecto estrellas/polvo)
/// - **4-6**: Tamaño equilibrado (recomendado)
/// - **7-10**: Partículas grandes (efecto burbujas)
  if (y != null || x != null) {

/// Multiplicador de velocidad de movimiento de las partículas.
///
/// Controla qué tan rápido se mueven las partículas por la pantalla.
///
/// - **0.1-0.25**: Muy lento y relajante
/// - **0.25-0.4**: Velocidad moderada (recomendado)
/// - **0.4-0.6**: Rápido y dinámico
/// - **> 0.6**: Muy rápido (puede marear)
    _buildVelocity(y: y, x: x);

/// Número total de partículas a renderizar.
///
/// Más partículas = efecto más denso pero mayor costo de rendimiento.
///
/// Recomendaciones por dispositivo:
/// - **Móviles**: 50-150 partículas
/// - **Tablets**: 150-250 partículas
/// - **Desktop**: 200-500 partículas
  }

/// Ancho máximo del área de animación en píxeles.
///
/// Las partículas se mueven dentro de este rango horizontal.
/// Típicamente se establece al ancho de la pantalla:
/// ```dart
/// maxWidth: MediaQuery.of(context).size.width
/// ```
  position += velocity;

/// Altura máxima del área de animación en píxeles.
///
/// Las partículas se mueven dentro de este rango vertical.
/// Debe coincidir con la altura del contenedor padre.
  if (position.dx < 0 || position.dx > maxWidth || position.dy < 0 || position.dy > maxHeight) {

/// Color de fondo del canvas.
///
/// Si es `Colors.transparent` (por defecto), el fondo es transparente
/// y se verá lo que esté detrás del widget.
///
/// Si se proporciona un color sólido, se dibuja como fondo antes
/// de las partículas.
    reset();
  }
}