Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

282
Vistas
¿Cómo animar en p5.js?

Estoy tratando de animar las líneas pero no tengo idea de cómo proceder. El código que escribí hasta ahora es este.

 function setup() { createCanvas(400, 400); textSize(8); } function temp(){ strokeWeight(5); point(150,108); point(56,75); point(121,185); strokeWeight(1); line(150,108,56,75); line(56,75,121,185); } function draw() { clear(); background(220); translate(35,60); temp(); }

Lo que deseo es que la línea aparezca una por una de acuerdo con la secuencia en que se dibujan y cuando se dibujan, la pantalla se aclara y nuevamente, una por una, básicamente debería aparecer en secuencia. No estoy al tanto de cómo hacer esto.

GIF ===>https://thumbs.gfycat.com/SnoopyWildDuckbillcat.webp

El resultado que obtengo es este El resultado

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Crear una lista de puntos:

 var pointList = [[150, 108], [56, 75], [121, 185]]

Establezca la velocidad de fotogramas con frameRate() :

 frameRate(5);

Dibuja las líneas entre un número de puntos en un bucle. El número de puntos a dibujar depende de frameCount . Utilice el operador módulo ( % ) para calcular el número de puntos (el operador % calcula el resto de una división:

 function temp(){ var noOfPoints = frameCount % (pointList.length+1); strokeWeight(5); for (var i = 0; i < noOfPoints; i++) { point(...pointList[i]); } strokeWeight(1); for (var i = 0; i < noOfPoints-1; i++) { line(...pointList[i], ...pointList[i+1]); } }

Ejemplo:

 var pointList = [] function setup() { createCanvas(220, 220); frameRate(5); for (var i = 0; i <= 10; i++) { var angle = TWO_PI * i / 10; var radius = i % 2 == 0 ? 100 : 50; pointList.push([radius * sin(angle), radius * -cos(angle)]) } } function temp(){ var noOfPoints = frameCount % (pointList.length+1); strokeWeight(5); for (var i = 0; i < noOfPoints; i++) { point(...pointList[i]); } strokeWeight(1); for (var i = 0; i < noOfPoints-1; i++) { line(...pointList[i], ...pointList[i+1]); } } function draw() { clear(); background(220); translate(110, 110); temp(); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/p5.min.js"></script>

about 4 years ago · Juan Pablo Isaza Denunciar

0

crear una matriz de objetos que tengan coordenadas y sepan cómo dibujarse. en la función de dibujo, puede iterar a través de la matriz, modificar las coordenadas de cada objeto de acuerdo con su lógica y llamar a su método de dibujo.

al tener la llamada al fondo en la función de dibujo, puede eliminar la llamada clara porque el fondo se dibujará sobre las líneas

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda