Aquí hay una demostración divertida que armé usando HTML5
canvas
, ayudado por el excelente framework sketch.js . Estoy creando cientos de bolas semitransparentes y las reboto en la pantalla. La demostración definitivamente requiere un navegador moderno (Chrome / Firefox / IE9 +).
Sketch.js simplifica el inicio de la construcción de demostraciones como esta al proporcionar un montón de cosas que normalmente tendrían que construirse a mano: un ciclo de animación, un contexto de dibujo, etc. También proporciona algunas funciones matemáticas agradables, como las
random()
que verás que estoy usando por todas partes.
Repasaré el código brevemente para darte una idea de cómo funciona y cómo puedes editarlo o crear el tuyo. Puedes seguirlo en la pestaña JS arriba.
Primero, estoy configurando algunas variables: una
particles
matriz particleCount
y una Particle
función. La particles
matriz mantendrá cada partícula que creo, mientras que particleCount
es la cantidad de partículas que voy a crear. Particle
es una función que actúa como mi valor predeterminado para cada partícula que creo. Cuando creo una nueva partícula, le paso las coordenadas x e y donde quiero que aparezca. El resto se establece internamente: radio, color (en rgba) y velocidad en ambas direcciones (vx y vy).
También doy
Particle
un par de funciones internas: actualizar y dibujar. La función de actualización actualiza las coordenadas x / y de esa partícula. Si golpea el borde de la pantalla, invierte la dirección. La función de dibujar dibuja la partícula en la pantalla en su nueva ubicación.
La
sketch
función tiene tres funciones internas: setup
, update
y draw
.Setup
Se llama automáticamente cuando se carga la página. Recorre particleCount
varias veces y crea una nueva partícula.Update
Se ejecuta automáticamente cada fotograma. Recorre las partículas y ejecuta cada una de sus update
funciones internas (que a su vez actualiza la posición de esa partícula).Draw
es llamado automáticamente por sketch.js después update
. Recorre las partículas y llama a su draw
función (que atrae la partícula a la pantalla).
¡Y eso es todo lo que necesitamos! Sketch.js maneja el resto del trabajo sucio.
Edite la demostración en CodePen para ver qué cambios puede hacer. Las cosas divertidas para cambiar incluyen:
- Cuenta de partículas: aumentar / disminuir el número de partículas.
- this.radius: cambiar los números dentro de la función aleatoria cambiará el tamaño de las partículas creadas.
- this.rgba: cambiar los números dentro de las cuatro funciones aleatorias dentro cambiará los colores creados.
- this.vx y this.vy: cambiar esos números cambia las velocidades que pueden tener las partículas.
Si creas algo interesante, ¡asegúrate de compartirlo en los comentarios!
0 Comentarios