ASP-PHP & FLASH |
Un compteur dynamique en image vectorielle ! |
|
Comment ça marche ?
Une page simple appelle l'animation flash compteur.swf :
| compteur.htm |  |  | |
| <HTML><HEAD><TITLE>Compteur Flash</TITLE> </HEAD><BODY> <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH=300 HEIGHT=30> <PARAM NAME=movie VALUE="divers/compteur.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFCC00> <EMBED src="divers/compteur.swf" quality=high bgcolor=#FFCC00 WIDTH=300 HEIGHT=30 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"> </EMBED> </OBJECT> </BODY></HTML> |
... qui appelle un compteur de hits ou de visites standard complété d'une instruction retournant à l'animation la valeur du compteur :
<%="LIST=" & cpt & "%0D"%> ou <? echo "LIST=".$cpt."%0D"; ?>

| compteur.asp |  |  | |
| <% ' Compteur ASP de hits pour Flash Set FSO=CreateObject("Scripting.FileSystemObject") fichier=Server.MapPath("/data") & "\compteur.txt"
' Lecture du fichier s'il existe et incrémente cpt = 1 if FSO.FileExists(fichier) then set inF = FSO.OpenTextFile(fichier,1,false) cpt = cLng(inF.readLine) + 1 ' jusqu'à 2 milliards inF.close end if
' Sauvegarde du compteur set inF = FSO.createTextFile(fichier) inF.writeLine(cpt) inF.close
' Envoi de la variable à Flash response.write("LIST=" & cpt & "%0D") %>
|
| | 
| compteur.php |  |  | |
| <? // Compteur PHP de hits pour Flash
$fichier="compteur.txt";
// Lecture du fichier s'il existe et incrémente $cpt = 1; if(file_exists($fichier)) { $inF = fopen($fichier,"r"); $cpt = intval(trim(fgets($inF, 4096))) + 1; fclose($inF); }
// Sauvegarde du compteur $inF = fopen($fichier,"w"); fputs($inF,$cpt."\n"); fclose($inF);
// Envoi de la variable à Flash echo "LIST=".$cpt."%0D"; ?>
|
|
Et dans l'animation Flash ?
Avant de commencer, vous
devrez avoir une prise en main certaine avec ©Flash, si vous souhaitez
obtenir autre chose qu'un banal compteur statique.
1ère
étape : Créer une zone de texte simple
Dans ©Flash, 1ère étape (après avoir défini
les paramètres globaux (taille de la scène, couleur d'arrière-plan,
etc...)), sur le layer 1, créez une zone de texte.
Remplissez-la d'un texte correspondant à votre futur message :
Exemple : xxxxxxx
visiteurs.
Formattez Police/Taille/Police, recadrez la zone de texte.
Effacez le contenu de la zone de texte !
Ensuite, appellez la fenêtre des "options
Texte"
2ème étape : Relier la zone de texte
à une variable
 |
Choisissez
- Dynamic text (le texte sera appelé à être modifié
au cours de la vidéo (par l'appel de notre variable compteur).
- Single Line (seulement si votre texte est en simple ligne ;-))
-LIST dans la zone variable...
La variable que nous
appellerons via ASP/PHP s'appellera
LIST
|
3ème
étape : Appeler notre variable depuis une page ASP/PHP
Sur la Frame 1, définisez
une ACTION.

tellTarget ("/") { loadVariables ("compteur.asp", "", "POST"); }
|
| | 
tellTarget ("/") { loadVariables ("compteur.php", "", "POST"); }
|
|
Tell Target (préciser
"/"), puis loadvariables. (Vous pouvez directement coller le
script ici présent !
Ainsi votre animation est prête à recevoir la variable LIST via
ASP/PHP ou n'importe quoi ! du moment que la page retourne une expression de
type :
LIST=mon message%OD
%0D permet d'identifier la fin de la variable.
ASTUCE COMPTEUR : Pour éviter
que votre compteur s'incrémente à chaque boucle (c'est intéressant
pour gonfler son taux de traffic ! mais pas très fiable !) : utiliser
à la fin de votre animation une Action : Goto Frame 2, l'animation passera alors en boucle, sans recharger la page ASP/PHP, et ainsi
n'incrémentera pas le compteur !
Amusez-vous ! Tout est permis désormais !!!
et pour aller plus loin...
Un formulaire en Flash !
A voir aussi Les tutoriaux de Flash-France
 Télécharger le FLA simplifié pour vous aider
|