Une bonne connaissance des manipulations de bases de données
via ASP/Access ou PHP/MySql (ou autre...).
Une maîtrise relative de FLASH (création d'interpolation de mouvements,
création d'animation, insertions d'actions..)
Explication préalable :
Avant de rentrer dans le détail des images clefs FLASH, voici un petit
"timeline" qui explique les actions de manière chronologique
de notre future animation FLASH NEWS.
Présentation
(Liberté totale,
peut être supprimée)
Affichage d'une news en cours. (1ère fois : une news d'accueil)
Appel de la news suivante (via le script asp / php)
Test validité de la news suivante :
Est-elle arrivée ?
Si oui : Retour à affichage News en cours
Si non : Animation d'attente "Please Wait"
Animation d'attente
Cette animation est relativement simple.
Il y a très peu de script. La seule difficulté est de faire des
animations fluides avec votre texte pour le rendre plus vivant... et de faire
marcher un script ASP/PHP !
Etape 1 :
Il faut deux zones de texte dynamiques :
Une avec la variable URL, une avec la variable TEXTE :
Placez-les à l'endroit désiré, formatez les polices, tailles
de caractères...
NB : si vous voulez faire des animations avec les zones
de texte, pensez à intégrer les polices...
Première frame : déclaration des variables var texte="Bienvenue sur les NEWS ...";
var url="";
Première image de l'animation d'affichage des news :
Texte_loaded est vide, url_loaded est vide.
On appelle la page _affiche_news.asp qui devra répondre par
&TEXTE_LOADED="texte de la news suivante" &URL_LOADED="http://www.zzzz"
par exemple...
Première frame de l'affichage de news :
déclaration des variables + appel
des variables via ASP/PHP
var texte_loaded="";
var url_loaded=""; loadVariablesNum ("_affiche_news.asp",
0, "POST");
Etape 2 : Fichier dynamique ASP / PHP
Dans le script ci-dessous, on considère que la table news a au-moins les champs suivants :
uid entier auto-incrément, datenews date/time, texte memo/longtext et URL text/varchar(100)
La variable ID fait un aller-retour entre le script et l'anim Flash... elle correspond à l'index de la news à afficher
Set news = Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM news ORDER BY uid DESC" news.Open sql, conn, 3, 3
ID=cint(request("id")) for i=1 to news.recordcount if ID=i then ' La bonne news ? ID=i+1 ' N° de la news suivante if ID>news.recordcount then ID=1 ' ou retour à 1 TEXTE = news("datenews") & VbCrLf _ & news("texte") URL = news("URL") exit for end if news.movenext next
news.close : conn.close
' ----------ENVOI DES DONNEES A FLASH ---------- response.write "&TEXTE_LOADED=" & TEXTE _ & "&ID=" & ID & "&URL_LOADED=" & URL
%>
affiche_news.php
<? include("_conn.php"); // --- connexion ---
$SQL = "SELECT * FROM news ORDER BY uid DESC"; $result = mysql_query($SQL);
$i=1; while ($news = mysql_fetch_array($result)) { if($ID==$i) { // La bonne news ? $ID++; // N° de la news suivante if($ID>mysql_num_rows($result)) $ID=1; // ou retour à 1 $TEXTE = $news["datenews"] . "\n"; $TEXTE .= $news["texte"]; $URL = $news["URL"]; break; } $i++; }
mysql_close();
// ----------ENVOI DES DONNEES A FLASH ---------- echo "&TEXTE_LOADED=" . $TEXTE; echo "&ID=" . $ID . "&URL_LOADED=" . $URL;
?>
Etape 3 : test de la réponse du fichier ASP/PHP
Le fichier ASP / PHP a été appellé. Il se peut que le
temps d'affichage de votre news soit trop court, ou que votre visiteur ait une
connexion déplorablement lente.
Donc, URL_loaded et Texte_loaded n'ont pas pu être encore remplis...
Transfert des variables chargées (url_loaded ; texte_loaded)
dans les zones dynamiques URL et TEXTE
Test de la présence d'un texte :
Si oui ; retour à la frame 50 (début affichage des news)
Si non ; go à 130, qui est l'animation d'attente...
Etape 4 : les BOUTONS !
Pour les boutons, il faut aller à l'économie de script :
Les actions seront réduites à leur minimum :
Le Bouton PAUSE : c'est un STOP brutal de l'animation !
on (release) {
stop ();
}
Le bouton PLAY/News suivante : on reprend la lecture juste avant le
test de réponse (en 130)
(J'ai utilisé une animation de fin de news de 116 à 130, elle
n'est pas indispensable !)
(à ce moment, faite un gotoAndPlay (130);)
Mettez l'animation qui vous plaira... Placez juste régulièrement
le script précédent.
Aunsi, dés que l'animation reçoit la news... on repart en frame
50 (affichage de la news) et ça repart !