mar 20 juin 2006

Connexion Html / Flash 2

20 06 2006

Voici 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à :)

2 commentaires à Connexion Html / Flash 2

21 06 2006
favatar de yaya yaya :

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

21 06 2006
favatar de Matthieu Matthieu :

Voilou ;)

Mais je viens de voir que jeanphi avait fait aussi un billet là dessus