©
. Document créé le 16 septembre 2004 , mis à jour le 12 août 2007.Une personne qui n'a jamais commis d'erreurs n'a jamais tenté d'innover. Albert Einstein
Accueil du site > Astuces > Flash > Transmission de variables : FlashVars
A partir de Flash 6+, il est possible de transmettre des variables à un objet flash (swf) via les flashvars.
1/ Ajouter les flashvars à l’objet flash, dans la page HTML. Par exemple :
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="550" HEIGHT="400" ALIGN="">
<PARAM NAME=movie VALUE="test.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#666666>
<param name="FlashVars" value="fv_message=Message%20flashvars%20OK">
<EMBED
src="test.swf" WIDTH="550" HEIGHT="400" ALIGN="" quality=high bgcolor=#666666
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"
flashvars="fv_message=Message%20flashvars%20OK">
</EMBED>
</OBJECT>
Dans l’extrait ci-dessus, le paramètre flashvars, déclaré traditionnellement deux fois, permet de transmettre à l’objet flash appelé la variable fv_message contenant la valeur texte "Message flashvars OK".
Dans l’objet flash, il vaut mieux détecter la présence de la variable transmise, et vérifier sa qualité avant de l’utiliser. Ci-dessous, l’ActionScript pour une image de scénario, créé sa boîte de texte et y affiche le résultat transmis ou - au contraire - précise que la variable est absente.
createTextField ("stdout_txt",1,100,100,300,100);
if (_root.fv_message !== undefined && _root.fv_message.length < 16) {
this.stdout_txt.text = _root.fv_message;
} else {
this.stdout_txt.text = "Pas de valeur transmise ?";
}
Remarquez au passage que la variable transmise par flashvars se trouve dans _root, pas dans _global.
Les forums sont fermés.