mar 20 juin 2006
Connexion Html / Flash 2
20 06 2006Voici un petit addon au billet Connexion Html / Flash
Après une petite discussion avec Shaoken, il en ressort que LocalConnection reste assez lourd car nécessite que l'on fasse appel à deux instances du player Flash.
Et voilà comme alternative une petite nouveauté de Flash 8 qu'il m'a conseillé : la classe ExternalInterface
Très pratique elle permet la communication entre Html et Flash via javascript et vice versa.
Suite à un petit commentaire de yaya, je développe ce que j'ai adapté de la page précédemment fournie 
// An empty string variable var testValue:String = ""; // The callback function to be executed when the variable changes watchCallback = function (id, oldval, newval):String { // Here you place the new value in a text field for display result_txt.text = newval; return newval; }; _root.watch("testValue", watchCallback);
<script type="text/javascript"> function callJavascript(){ // valeur que l'on souhaite passer à flash var sendText = inputValue.vars.value window.document.myMovie.SetVariable("testValue", sendText); } </script>
Et pour moi un lien Html :
<a href="javascript:callJavascript();" title="">...</a>
Pour la ligne
<script type="text/javascript"> window.document.myMovie.SetVariable("testValue", sendText); </script>
je l'ai remplacé par
<script type="text/javascript"> window.document.getElementById('myMovie').SetVariable("testValue", sendText); </script>
Sachant que 'myMovie' et l'id de la balise object :
<object type="application/x-shockwave-flash" data="anim.swf" width="..." height="..." id="myMovie"> <param name="movie" value="anim.swf" /> </object>
Ensuite je me suis amusé à bouger les _xsquale et_ysqale de mon image selon les parties envoyées dans sendText de la fonction callJavascript()
Et voilà 
Bonjour,
cela aurait ete bien, quand vous faites un exemple de mettre les sources afin de meiux comprendre
et d'approfondir les astuces.
Bien a vous Yaya
Voilou
Mais je viens de voir que jeanphi avait fait aussi un billet là dessus