Bonjour,
Je suis en train de faire face à un problème dont je ne trouve pas la solution. Je fais donc appel à votre aide.
Pour commencer voilà toutes les données du contexte :
Je bosse en CS4 et mon animation est publiée en Flash Player 8
Elle est composé de 3 séquences :
1) un loader
2) une animation simple avec un stop() à la fin et un bouton pour continuer. Au clic sur le bouton un sendAndLoad d'un loadVars est appelé (cf. code ci-dessous) est en fonction des données récupérées, j'oriente vers différentes images clés de la séquence 3
3) un mini-jeu + 3 images clés de résultat (gagné, perdu, erreur - en cas de problème technique -). Sur chacune des images clés il y a des stop()
Maintenant mon problème :
Moi je teste en local ou en ligne, ça fonctionne sans soucis, je n'ai jamais recontré le problème. Des milliers d'internautes utilisent ce flash sur le site sans problème chaque jour (je peux le voir dans la base de données). Mais une partie infime d'entre-eux rencontre des problèmes (ce n'est même pas de l'ordre du 0,5%).
Il s'agit d'un problème purement aléatoire : différents navigateurs, différents players, différents internautes, et un internaute pour qui le flash ne fonctionne pas à un instant donné peut réessayer et le faire fonctionner correctement une autre fois (ça aussi je peux le voir dans la base de données).
Qu'est ce qui se passe :
L'enchainement séquence 1 / séquence 2 se passe sans problème. En fin de séquence 2 le bouton apparait et l'internaute clique dessus. Et à partir de ce moment là l'animation déroule sans prendre en compte les stop() ni aucun des autres scripts : elle enchaine jeu / panneau gagné / panneau perdu / panneau erreur et réenchaine sur séquence 1 / séquence 2 et s'arrête de nouveau sur le bouton.
J'ai essayé en vain de reproduire un tel comportement mais je n'y arrive pas du coup je ne peux pas débogguer. Et aux vues de tout ça je ne trouve pas trop de solution.
Est-ce que cela évoque quoi que ce soit à l'un de vous ? Si vous avez besoin d'informations supplémentaires, n'hésitez pas.
En attendant, voilà le code du bouton en fin de séquence 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 on(press){ if(this._visible) { _root.jouer(); this._visible = false; } }Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 function jouer() { _root.recup_compte = new LoadVars(); _root.recup_compte.onload = function (etat) { if (_root.recup_compte.loaded) { if(Number(_root.recup_compte.erreur) == 0) { [... récupération et traitement des données ...] nextFrame(); } else { if( Number(_root.recup_compte.erreur) == 10000) { delete _root.recup_compte; _root.gotoAndStop('erreur'); } else // si erreur de script { delete _root.recup_compte; _root.gotoAndStop('perdu'); } } } // end if }; btn_jouer._visible=false; [... initialisation des variables transmises au loadvars ...] _root.recup_compte.alea = Math.random(1000000); _root.recup_compte.sendAndLoad("fichier-php.php", _root.recup_compte, "GET"); }
Partager