Utilisation d'une variable en Flash depuis PHP

Utilisation d'une variable en Flash depuis PHP - Flash/ActionScript - Programmation

Marsh Posté le 15-09-2005 à 09:44:55    

Bonjour,
 
Voila , je fais un echange de variable Flash / php avec stockage ds une bdd, jusque la tt va bien. Puis je récupère cette variable, et voudrais l'utiliser
conditionnellement, c'est a dire que la variable c'est 'ok' ou 'null' et le son dois jouer ou pas en fonction de cette valeur. Comme le site rappelle différentes animations Flash, je veux que le visiteur qui stop le son, garde le son éteint durant toute la visite du site et inverse...  
 
Je récupère bien la variable (testée avec du txt dyn) c'est dans la syntaxe des conditions que je dois planter...
 
Sur un calque de la scene principale, j'ai un clip qui régule cela avec ce code :
 
onClipEvent (load) {
 
 loadVariablesNum ("flash2.php", 0, "POST" );         // charge la variable valeur_son avec "ok" ou "nul"
 
 _global.s = new Sound();                                // appel le son depuis bibliotheque
 s.attachSound("son" );  
 
 if ( valeur_son == "ok" ) {
  s.start(0, 1000);
  }
 
 if ( valeur_son == "nul" ) {  
  s.stop();
 }
}
 
Faut-il déclarer cette variable autrement qu'avec le loadVariablesNum (je croyais que cette commande établissait un lien entre les deux fichiers) ou rajouter une commande???? En effet les conditions ne jouent pas sur le son! même avec la variable correcte...
Si quelqu'un a une solution, un grand merci d'avance, je tourne en rond sur ce problème depuis un moment!  :pt1cable:

Reply

Marsh Posté le 15-09-2005 à 09:44:55   

Reply

Marsh Posté le 15-09-2005 à 10:17:51    

tout ton code est dans la même frame (ou clip), si oui ca ne peut pas marcher car il vas lire tout ton code et l'interpreter avant que valeur_son est été initialisé (a null ou ok) donc il ne remplit aucune des deux conditions au moment ou tu teste tu doit laisser le temps a loadvariablenum de renvoyer sa valeur avant de tester
 
 
enfin je pense ;-)


---------------
D3
Reply

Marsh Posté le 15-09-2005 à 11:25:19    

j'ai un calque avec une première image clé ou se trouve un clip avec le code :  
onClipEvent (load) {
 loadVariablesNum ("flash2.php", 0, "POST" );
 _global.s = new Sound();
 s.attachSound("son" );
}
Normalement il appel la variable (ok ou nul) qui s'affiche bien ds un chp txt dynamique et il charge le son...
 
l'image clé qui suit contient pour ce meme clip le code :  
 
onClipEvent (load) {  
 
 if ( _root.valeur_son == "nul" ) {  
 s.stop();
 }
 
 if ( _root.valeur_son == "ok" ) {  
 s.start(0, 1000);
 }
}
 
Si je met un 'else' a la place du 2eme 'if', il lit obligatoirement le son meme avec la variable valeur_son = nul !... Cela veut bien dire qu'il ne se préoccupe pas du if...
 
Peut-tu détailler la façon de placer ces éléments pour qu'ils soient pris en compte? il faut des calques différents, des clips différents?... J'ai également un doute sur le 'onClipEvent (load)' de la 2eme image clé...
 
Merci d'avance! ;O)

Reply

Marsh Posté le 15-09-2005 à 11:34:26    

met des:
trace("1:"+valeur_son);
trace("2:"+valeur_son);
trace("3:"+valeur_son);
etc...
a differents endroits, tu verras bien ce qui sort


Message édité par mechkurt le 15-09-2005 à 11:34:39

---------------
D3
Reply

Marsh Posté le 15-09-2005 à 12:08:18    

justement y a pas grand chose qui sort... alors que mon texte dynamique m'affiche bien la valeur de la variable... Il l'a charge bien! mais il ne l'utilise pas avec les conditions!... J'en perd mon tinla!
 
Si trace ne sort rien, qu'est-ce que cela signifie?

Reply

Marsh Posté le 15-09-2005 à 13:22:20    

tu as quand même:
1:
2:
3:
etc...
dans ta fenêtre de sortie, sinon c'est qu'il ne l'execute pas!
si tu as ca (sans valeur_son) c'est qu'au moment ou tu fait ton trace() valeur_son n'est pas encore affécté (quoiqu'il devrait afficher undefined il me semble...)
 
bizarre
 
essaye de mettre:
compteur=0;
onClipEvent (EnterFrame) {
   compteur++;
   trace(compteur+" : "+valeur_son);
}
pour debugger


Message édité par mechkurt le 15-09-2005 à 13:22:52

---------------
D3
Reply

Marsh Posté le 15-09-2005 à 14:39:27    

De la meme manière il me renvoi '1:' et '2:' sans données....
Je vais tenter de décomposer le script sur différents calques et clip...
 
Comment expliquer que le chp txt dyn avec comme var 'valeur_son' affiche bien la donnée (ok ou nul) et qu'ensuite il ne l'utilise pas ?
 
Si tu as une autre hypothese?... Merci mille fois pour ta patience!

Reply

Marsh Posté le 15-09-2005 à 14:53:50    

Quand je fais le 'loadVariablesNum ("flash2.php", 0, "POST" );' le fichier php appellé ne va chercher que cette variable dans la base mysql et l'envoi sous la forme  
 
echo "&valeur_son=$valeur_son";
 
Mais ne faut-il pas la déclarer avant les scripts conditionnels avec un loadvar ou autre ?...
 

Reply

Marsh Posté le 15-09-2005 à 14:59:21    

au bout d'un moment t'as pas genre 137 : ok (ou null)
et pourtant ton champs texte dynamique affiche la valeur ?!
comprend pas


---------------
D3
Reply

Marsh Posté le 15-09-2005 à 15:07:27    

je dois vraiment faire une erreur quand j'assigne les conditions mais j'ai beau tout retourner je ne comprends pas non plus!!!
 
Je ne vois pas du tout ce qui merde! Encore merci de ton aide et si qqun a une hypothese je suis preneur...

Reply

Marsh Posté le 15-09-2005 à 15:07:27   

Reply

Marsh Posté le 15-09-2005 à 15:42:58    

ou une autre stratégie pour controler le son (on ou off) entre plusieurs animations flash...

Reply

Marsh Posté le 15-09-2005 à 15:50:54    

tu peut voir ce qu'il a fait pour envoyer une varaible a un Flash via l'URL:
http://forum.hardware.fr/hardwaref [...] m#t1173566
 
jamais testé perso mais si tu ecrits tes balises embed et object dynamiquement ca devrait fonctionner...


---------------
D3
Reply

Marsh Posté le 15-09-2005 à 16:29:47    

Javais lu ce poste mais le site tourne en php avec différentes anim Flash dont tout le menu... ca devient une vraie usine à gaz, je voudrais que le menu Flash (qui gere le son) réagisse indépendemment du reste du site... Je pensais la stratégie correcte au début mais c'est à n'y rien comprendre!
 
Thanks a lot ! ;O)

Reply

Marsh Posté le 16-09-2005 à 09:25:54    

Je me suis renseigné sur les LoadVars, c'est la première fois que j'y ai recours et j'avoue difficilement comprendre l'utilisation...
 
Tout d'abord mon fichier php 'flash2.php' va chercher la valeur (valeur_son) ds la base mysql et l'affiche sous cette forme :
 
echo "&valeur_son=$valeur_son";
 
Est-ce correct, j'ai vu du 'encode ltf8' ou qqchose dans le genre, faut-il y avoir recours?...  
 
Dans Flash, je place ce code sur un clip masqué :
 
onClipEvent (load) {
var musique = new LoadVars();
musique.load('flash2.php');
 
musique.onLoad = function(success){
if( success ){
musique.valeur_son = valeur_son
}
else{
trace('Erreur lors du chargement');
}
}
}
 
 
Ensuite sur un autre clip masqué je place les conditions :
 
onClipEvent (load) {
_global.s = new Sound();
s.attachSound("son" );
}
 
onClipEvent (load) {
if (musique.valeur_son == 'off') {
s.stop();
}
 
if (musique.valeur_son == 'on') {
s.start(0, 1000);
}
}
 
 
Est-ce qu'il faut bien utilisé 'musique.valeur_son' comme variable ou uniquement 'valeur_son' ? Mon txt dynamique ne m'affiche plus la valeur (on ou off) que je lui donne 'musique.valeur_son' ou 'valeur_son' comme attribution de variable!...
 
Merci d'avance !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed