J’ai l’impression que les actions (ou les conditions ? ) relatives à l’animation d’objet Sprite sont ignorées en HTML5.
Ca marche comme prévu en natif. Mais ça ne fait plus rien en HTML5.
Cf l’exemple ci dessous, avec clic gauche pour changer l’image d’animation et clic droit pour changer le numéro d’animation.
Les deux commandes sont ignorées en web.
Question bonus : GD ne peut-il pas revenir à l’image 0 une fois le nombre d’image dépassé ?
Afin que l’on puisse faire “si clic de souris alors numéro d’image +1” sans avoir à gérer le retour à 0 si on est en dernière image.
Le problème demeure en web, que ce soit avec mon projet ou avec l’exemple donné en lien dans mon post précédent.
Ou alors mettre une valeur animation.length dans les évènements.
Qu’on sache facilement si on est arrivé à la fin de l’animation, pour repartir à l’image de départ.
C’est intéressant si on utilise un seul objet sprite pour plusieurs apparences, et qu’on doive manuellement cycler d’une image à l’autre.
Désolé d’insister mais ce bug d’animation en web est bien retord. Maintenant, je suis coincé avec deux solutions insatisfaisantes :
L’export en web, qui ne met pas à jour mes anim de décor en fonction de la position du joueur (même image pour toutes les scènes donc)
L’export en natif, qui me balance des fuites mémoire pas possible depuis que j’ai regroupé un max de scènes en une seule (pour diminuer les code.js à gogo)
La seule bonne nouvelle, c’est que j’ai pu diviser par deux le poids de mon jeu exporté, passant de 200 à 100 Mo.
C’est une bonne chose pour les temps de réaction et la bande passante.
Mais entre un jeu qui plante en natif sur les Intel HD, et un autre qui garde le même visuel quelque soit la scène en web, je suis un peu beaucoup coincé pour mettre en ligne la nouvelle version …
Je suis vraiment le seul à tomber sur ce double problème ?
Je n’ai plus l’erreur en web. Donc c’est qu’il voit bien la fonction que j’ai rajoutée manuellement.
Il y a surement un autre problème que le getanimationframe …
Utilise le projet exemple de mon premier post. On voit tout de suite le problème entre le natif et le web.
EDIT :
Je me demande si “Mettre en pause l’animation” ne serait pas la cause du problème ?..
En effet, une animation mise en pause n’avait pas son image de correctement mise à jour.
Ca devrait être bon avec ce correctif: spriteruntimeobject.js (28 KB)
Télécharge le fichier et va dans le dossier de GD, puis JsPlatform, Runtime et remplace l’ancien spriteruntimeobject.js par celui ci
Relance l’aperçu ensuite.