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

274
Vistas
La animación Phaser no funciona en dispositivos de pantalla táctil. (funciona bien en el escritorio)

Tengo estas animaciones en mi juego phaser.js:

 this.anims.create({ key: 'catchingUp', frames: this.anims.generateFrameNumbers('android', { start: 0, end: 4}), frameRate: this.frameSpeed * 6, repeat: 0 }); this.anims.create({ key: 'catchingDown', frames: this.anims.generateFrameNumbers('android', { start: 5, end: 9}), frameRate: this.frameSpeed * 6, repeat: 0 }); this.anims.create({ key: 'topTop', frames: this.anims.generateFrameNames('androidTopTop', { start: 0, end: 9}), frameRate: this.frameSpeed * 6, repeat: 0 }); this.anims.create({ key: 'downUp', frames: this.anims.generateFrameNumbers('androidUpDown', { start: 0, end: 4}), frameRate: this.frameSpeed * 6, repeat: 0 });

Solo la animación con la tecla downUp hacia arriba funciona bien en todos los dispositivos, es el único en el que el sprite solo mueve su brazo y no va de un lado al otro. Las animaciones con las teclas catchingUp y catchingDown hacen que aparezca un rectángulo negro en la pantalla en lugar de mi sprite; en teléfonos y tabletas, a pesar de funcionar bien en la computadora portátil. Pensé que el problema eran las animaciones en sí mismas, porque el personaje salta varios cuadros, así que hice otra animación topTop , con el mismo problema. Luego pensé en poner todas las animaciones en una sola hoja de sprites, pero eso solo provocó que todas fueran un triángulo negro, incluida la animación 'downUp', que por sí sola funcionó bien.

He visto a alguien más haciendo una pregunta similar aquí y se les recomendó usar this.anims.generateFrameNames en lugar de this.anims.generateFrameNumbers , así que lo hice. Igual, funcionó bien en el escritorio, triángulo negro en todas partes.

Antes, cuando usaba imágenes no animadas, en lugar de animaciones, funcionaba bien en todos los dispositivos.

El juego en su estado actual se puede encontrar en https://chylinski82.github.io/androidCoop/ y todo el código en https://github.com/chylinski82/androidCoop , las animaciones están en Level.js y son llamado desde basketUpRight.js, basketUpLeft.js, basketDownRight.js, basketDownLeft.js.

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

0

El problema parece ser el width de tu sprite. Si divide su sprite en varias líneas, digamos 4 líneas, las dimensiones serían 2400 x 1000 en lugar de 9000 x 250 y esto funciona en Android (por cierto, el ancho de 4500, tampoco funciona).
(No pude probarlo en iPhoneOs, pero supongo que este es el mismo problema)

No pude averiguar (todavía) , cuál es el límite de width exacto, pero sé que hay algunos problemas con los sprites de ancho, que tienen un width grande.

Actualización: lo acabo de probar en Android 12, el width y el height están limitados para animaciones de sprites a 4096px , lo acabo de probar.

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