Web : variable de scène, fichier xml et lulwut

Plop !

Après une semaine de galère, j’ai fini par identifier mon problème de lecture foireuse de fichier xml en web (alors qu’en natif, ça marchait sans souci). En revanche, je ne vois pas comment ce problème peut en être un, vu que l’algo n’est pas en cause, et que les actions, prises séparément, semblent fonctionner comme attendu.

Voici un exemple d’algo que j’utilise :

Avec une santé à 5 et une énergie à 3 :

  • En natif, j’obtiens 5 et 3.
  • En web, j’obtiens 5 et … 5 !
    Comme si en web, la deuxième lecture de valeur était zappée (ou que la variable de scène ne la recevait pas et conservait celle précédente).

Comment ai-je résolu ce problème, me direz-vous ?
Ben, comme ceci :

Avant chaque appel à la variable de scène, je lui recolle en dur une valeur zéro.
C’est alors que le Grand Algo (le dieu du rythme) entend mes prières et m’apporte félicité, amour et retour des valeurs attendues, en web comme en natif (si ça, c’est pas de l’omnipotence …).

Etonnant, non ?

Un détail quand même : je ne déclare pas ma variable de scène (comme on déclare les variables globales, avec le menu popup).
Cela n’a pas d’incidence en natif, et je n’ai pas remarqué d’incidence en web. Ceci expliquerait ce comportement ?

Plutôt étrange ouais, la première et la deuxième façon de faire ne devrait rien changer.
Es tu sûr que le “fichier” que tu lisais depuis la version web contennait bien les valeurs 5 et 3, et pas 5 et 5 ?
Qu’est ce que ça donne maintenant si tu enlève simplement les deux actions de mise à 0 ?

J’ai bien vérifié l’évolution du fichier xml avec localStorage :

  • lors de la sauvegarde = Les valeurs sont justes
  • Lors du chargement = la première valeur écrase les suivantes, tant que la variable de scène (utilisée comme variable tampon) n’est pas “set” par une action dédiée

Le fait que la version native ne rencontre pas ce problème, avec ou sans “set”, indique que le problème vient de la manière dont les actions sont interprétées lors de l’export en web.

[size=85]
PS : Et sinon, la version 2.1 de sfml, c’est pour bientôt ?
La partie audio est un vrai massacre en html5 :stuck_out_tongue:
Et ces problèmes avec les Intel HD, ça fait pas propre …[/size]

Pour SFML, je finit des changements en interne assez importants puis je la met à jour.
Je mettrai ensuite une version de test en ligne pour les beta testeurs, afin de s’assurer qu’aucun jeu n’est cassé.

(J’ai fait des modifs internes pour un nouveau projet lié à Game Develop dont je devrai parler d’ici assez peu de temps).