Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

273
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!