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

293
Vistas
¿Cómo puedo hacer que dos imágenes aparezcan y desaparezcan desplazándose con p5?
var f var w function setup() { imageMode(CENTER); createCanvas(848, 480); wall = loadImage('image/background.png') feng = loadImage('image/feng.png') wei = loadImage('image/wei.png') f = 255 w = 0 } function draw() { background(0); image(wall, 424, 240); image(feng, 240, 240); image(wei, 668, 240) }

Estoy empezando a usar Javascript aunque no sé nada al respecto.
Por favor ayuda.

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

0

Si quiere decir fundido cruzado entre imágenes (por ejemplo, desaparecer en una imagen mientras que la otra se desvanece), puede usar map() en la posiciónscrollX , por ejemplo, para controlar la transparencia de una imagen y calcular la transparencia de la otra imagen como el valor inverso.

Puede calcular el inverso restando de su valor máximo.

Puede usar tint() para controlar la transparencia en p5.js

Desglosemos esto:

  1. map scrollY desde su rango (0, windowHeight) a un valor que puede usar para la transparencia, digamos (0, 255) : let fadeIn = map(scrollX, 0, windowWidth, 0, 255) (basado en la relación de aspecto de su boceto, asumo que se desplaza en el eje X, pero puede aplicar la misma lógica con scrollY )
  2. calcule el inverso (valor de desvanecimiento): let fadeOut = 255 - fadeIn
  3. Use tint() para realizar un fundido cruzado: puede ver un ejemplo de fundido simple aquí .

Aquí hay un ejemplo básico de fundido cruzado basado en su código:

 var f var w var feng; var wei; function preload(){ feng = loadImage("https://images.pexels.com/photos/20790/pexels-photo.jpg?auto=compress&cs=tinysrgb&dpr=1&w=848"); wei = loadImage("https://images.pexels.com/photos/20787/pexels-photo.jpg?auto=compress&cs=tinysrgb&dpr=1&w=848"); } function setup() { imageMode(CENTER); createCanvas(848, 480); f = 255 w = 0 } function draw() { // compute fadeIn(f) by mapping scrollX f = map(scrollX, 0, windowWidth, 0, 255); // compute fadeOut(w) as inverse w = 255 - f; background(0); // use fade in / out values to tint tint(255, f); image(feng, 240, 240); tint(255, w); image(wei, 668, 240) }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>

Recuerde usar preload() para cargar activos (imágenes/sonidos/fuentes/etc.) en p5.js

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