INTEGRATION>Flash & Javascript

INTERACTIVITE ENTRE UN FICHIER FLASH (SWF) ET UNE PAGE HTML

 

Flash vers Javascript

Lorsque vous importez un fichier swf dans une page HTML, ce dernier peut alors avoir certains contrôles sur la page. En effet, par le biais d'une fonction, le fichier swf peut executer n'importe quelle action.

 

Méthode : Appeler une fonction via la commande "GetURL" de Flash.

  1. Double-cliquez sur l'occurrence d'un bouton sur la scène ou sur une image clè de la timeline
  2. Sélectionnez via le bouton "+", la commande "GetURL"
  3. Dans la zone "GetURL" saisissez le mot "Javascript:" suivi du nom de la fonction.


ATTENTION : La fonction dois se trouver dans la même page HTML dans laquelle se trouve la balise "Embed" ou "Object".

Javascript vers Flash

(Merci à Alexis ISAAC pour la très grande collaboration de cette partie)
(Ben dis le David que c'est Alexi qui a tout rédigé dans ce qui suit ! Ben oui je le dis, mais je peux pas être aussi doué que lui en javascript ! Oui, c'est vrai qu'il faut s'accrocher, il est vraiment fort !)

Appeler une action Flash à partir du Javascript :

Tout d'abord il faut donner un nom a l'annimation Flash pour que Javascript la reconnaisse.

Via le HTML : Il faut ajouter la propriété ID à la balise <OBJECT> (<object id="Anim1" par exemple) et la propriété name à la balise <EMBED> (<emped name="Anim1" par exemple) ces deux propriétés doivent avoir la même valeur.

Via DreamWeaver : Sélectionner votre .swf dans la page HTML puis entrer le nom de l'anim dans le champ texte en dessous de "Flash".


Vous devez obtenir le code suivant :

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#3,0,0,0" width="320" height="240" name="Anim1">
<param name="SRC" value="anim.swf">
<embed src="anim.swf" pluginspage="http://www.macromedia.com/shockwave/download/" type="application/x-shockwave-flash" width="320" height="240" name="Anim1">
</embed>
</object>

 

Commandes Javascript que vous pouvez définir pour controler votre annimation :

 

Variables :

anim1.SetVariable("Nom", "valeur");
Définit une variable "Nom" sur la scène de flash à la valeur "valeur"

a=anim1.GetVariable("Nom");
la variable Javascript "a" prend la valeur de la variable Flash "Nom"

Action Call (c.f. partie Call) :

anim1.TCallFrame("target", image);
execute une action Flash Call sur l'image 'image' du Movie Clip nommé "target"

anim1.TCallLabel("target", "label");
execute une action Flash Call sur l'image nommée "label" du Movie Clip nommé "target"

 

Propriétés Flash:

Pour les propriétés vous devez vous référer au tableau suivant :

Propriété
Valeur de
Propriété
Récupérable
Définissable
X Position
0
x
x
Y Position
1
x
x
X Scale
2
x
x
Y Scale
3
x
x
Current Frame
4
x
Total Frames
5
x
Alpha
6
x
x
Visibility
7
x
x
Width
8
x
Height
9
x
Rotation
10
x
x
Target path
11
x
Frames Loaded
12
x
Instance name
13
x
x
Drop Target path
14
x
URL
15
x
Global Properties
High Quality
16
x
x
Focus Rectangle
17
x
x
Sound Buffer Time
18
x
x

Vous remarquerez que certaines de ces propriétés ne sont pas définissables.

Voici comment les utiliser :

anim1.TSetProperty("target", Valeur de Propriété, "valeur");
Définit la valeur de propriété correspondante à la valeur de propriété dans la Movie Clip nommé "target" à la valeur "valeur".

b= anim1.TGetProperty("target", Valeur de Propriété);
Définit la valeur de la variable Javascript "b" a la valeur de la propriété correspondante à la valeur de propriété dans le Movi Clip nommé "target"

 

Propriétés du Film dans le fichier HTML :

Ces propriétés peuvent être définies : anim1.Propriété = 1 (sauf indication contraire)
ou être lues c = anim1.Propriété.

anim1.ReadyState (non définissable)
0=En chargement
1=non initialisé
2=chargé
3=en cours de lécture ou stoppé au milieu de l'animation
4=Terminé

anim1.TotalFrames (non définissable)
Donne le nombre d'images totales de l'annimation. ATTENTION : n'est accessible que lorsque ReadyState = 4.

anim1.FrameNum
L'image en cours

anim1.Playing
Renvois "True" si le film est en lecture "False" si il est stoppé.

anim1.Quality
définit la qualitée :

0=basse
1=Haute
2=Auto Basse
3=Auto Haute

anim1.ScaleMode
Mode de redimentionnement

0=Tout Montrer
1= Sans Bordure
2 = Dimensions exactes

anim1.BackgroundColor

définit la couleur de fond de l'animation : c'est la valeur décimale convertie du triplet RVB.

anim1.Loop
Renvois Vrai si l'animation joue en boucle.

anim1.Movie
renvois l'URL du film en cours.