> For the complete documentation index, see [llms.txt](https://lados-organization.gitbook.io/goku/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lados-organization.gitbook.io/goku/goku-game-engine_es/capitulo-8-sistema-de-particulas.md).

# Capítulo 8: Sistema de Partículas

Este código proporciona la estructura y métodos para crear un sistema de partículas. En programación gráfica, un sistema de partículas es una técnica utilizada para simular ciertos fenómenos difusos, que de otra manera serían muy difíciles de reproducir con técnicas de renderización convencionales. Ejemplos de tales fenómenos incluyen fuego, humo, chispas y lluvia. Comenzamos definiendo una estructura `Particle`, que representa una sola partícula en nuestro sistema de partículas. Cada partícula tiene propiedades como `x` e `y` para la posición, `x_vel` e `y_vel` para la velocidad, `life` para determinar cuánto tiempo existe, `size`, `color` y `alpha` (transparencia). Luego implementamos métodos `new` para crear una nueva instancia de `Particle`, `update` para cambiar el estado de la partícula en cada cuadro (como posición, vida y transparencia) y `render` para dibujar la partícula en la pantalla. En la función de actualización, hay una condición para volver a aparecer partículas en la parte superior de la pantalla si llegan a la parte inferior.&#x20;

A continuación, tenemos diferentes funciones para generar diferentes tipos de partículas: `spawn_particles_sparks`, `spawn_particles_fires` y `spawn_particles_rain`. Cada función recibe la posición, el número de partículas a generar y modifica las partículas según el tipo.
