Trucsweb.com

Flash

Manipuler un Flash avec les langages script

RDFFav

Contrôler un MovieClip par le Javascript - en ciblant son Target

C’est là toute la puissance des méthodes Flash. En se basant sur le niveau ou level d’une animation Flash et en précisant son gloz16:target , vous pouvez accéder directement au movieClip de votre choix. Arrêter, partir, zommer, rendre invisible un movieClip etc. Ce tutoriel donne en exemple la plupart des méthodes...movieClip Flash methods javascript id name GetVariable GotoFrame IsPlaying LoadMovie Pan PercentLoaded Play Rewind SetVariable SetZoomRect StopPlay TotalFrames Zoom méthodes TellTarget Flash TCallFrame TCallLabel TGetProperty TSetProperty

C’est là toute la puissance des méthodes Flash. En se basant sur le niveau ou "level" d’une animation Flash et en précisant son " target ", vous pouvez accéder directement au movieClip de votre choix. Arrêter, partir, zommer, rendre invisible un movieClip etc. Ce tutoriel donne en exemple la plupart des méthodes, le tout exécuter avec grande simplicité sans aucune fonction Javascript, c’est à dire du Javascript directement dans un hyperlien HTML !!

Le Target ou la cible
Tout repose sur l’identification du movieClip à manipuler. Les méthodes qui peuvent être associés à un movieClip demandent toujours un target. Le Target est le chemin d’accès au movieClip dans l’architecture de l’objet, en d’autres mots, un Flash complet. Avant tout il faut identifier le niveau ou "level" et ensuite le nom que vous avez donné (dans Flash) à votre movieClip. Le niveau s’identifie toujours par "_level" suivit d’un numéro. Le niveau principal ou "master level" étant 0. Donc, si vous avez un movieClip sur le timeline principal, il doit être identifié comme ceci:

_level0/nomDuMovieClip

Si le movieClip et dans un autre movieClip:

_level0/nomDuMovieClip1/nomDuMovieClip2

Et si le movieClip se retrouve sur le niveau 1

_level1/nomDuMovieClip

De cette façon, votre commande n’affectera que le movieClip et non le Flash en entier. L’exemple suivant exécute la plupart des méthodes Flash. Le Flash n’a qu’un layer, un frame sur un seul timeline. Le frame 1 ne contient qu’un movieClip fort simple qui boucle sans arrêt. Les boutons contrôlent l’animation ou le movieClip et non le Flash en entier à l’exeption de la rotation. Les petits boutons envoient les commandes au Flash à l’aide du Javascript directement dans un lien HTML, les boutons plus gros sont dans un formulaire, question de démontrer une autre façon de faire.

 

Bouton avec liens Javascript

Navigation en Javascript Stop Reculer Play Avancer Zoom out Rétablir Zomm in Frame 1 Frame 8

Bouton de formulaire avec saisie de l’événement "onClick" et du Javascript

Télécharger l’exemple complet: flashjs.zip

 

Exemple complet: Noter que le nom du Flash est MonFlash_B et que le nom du movieClip Animation. ATTENTION Netscape: Vous devez absolument mettre swLiveConnect="true" suivit de name="MonFlash_B" à la fin. Noter que Netscape 6 n’a pas "swLiveConnect" ça ne fonctionne donc pas. Netscape 6 n’utilise même plus EMBED mais OBJECT.

<html>
<head>
<script type="text/javascript" language="javascript">
<!-- Début
// Fonction pour afficher toutes les propriété du MovieClip "animation"
function Aff_propriete() {
alert("PROPRIÉTÉ DU MOVIE CLIP (ANIMATION)\n\nPosition (_x) = "+window.document.MonFlash_B.TGetProperty(’/animation’, 0)+"\nPosition (_y) = "+window.document.MonFlash_B.TGetProperty(’/animation’, 1)+"\nX_SCALE = "+window.document.MonFlash_B.TGetProperty(’/animation’, 2)+"\nY_SCALE = "+window.document.MonFlash_B.TGetProperty(’/animation’, 3)+"\nFrame courrant = "+window.document.MonFlash_B.TGetProperty(’/animation’, 4)+"\nNombre de frame = "+window.document.MonFlash_B.TGetProperty(’/animation’, 5)+"\nALPHA = "+window.document.MonFlash_B.TGetProperty(’/animation’, 6)+"\nVisibilité = "+window.document.MonFlash_B.TGetProperty(’/animation’, 7)+"\nLargeur = "+window.document.MonFlash_B.TGetProperty(’/animation’, 8)+"\nHauteur = "+window.document.MonFlash_B.TGetProperty(’/animation’, 9)+"\nRotation = "+window.document.MonFlash_B.TGetProperty(’/animation’, 10)+"\nTARGET = "+window.document.MonFlash_B.TGetProperty(’/animation’, 11)+"\nFrame chargé = "+window.document.MonFlash_B.TGetProperty(’/animation’, 12)+"\nNom = "+window.document.MonFlash_B.TGetProperty(’/animation’, 13)+"\nDROP_TARGET = "+window.document.MonFlash_B.TGetProperty(’/animation’, 14)+"\nURL = "+window.document.MonFlash_B.TGetProperty(’/animation’, 15)+"\n\nPROPRIÉTÉS GLOBALES\nQualité haute = "+window.document.MonFlash_B.TGetProperty(’/animation’, 16)+"\nRectangle Focus = "+window.document.MonFlash_B.TGetProperty(’/animation’, 17)+"\nSOUND_BUF_TIME = "+window.document.MonFlash_B.TGetProperty(’/animation’, 18));
}
// fin -->
</script>
</head>

<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" ID="MonFlash_B" width="100" height="100">
  <param name="movie" value="b2.swf">
  <param name="loop" value="false">
  <param name="quality" value="best">
  <param name="bgcolor" value="#d6d3ce">
  <embed src="b2.swf" loop="false" quality="best" bgcolor="#d6d3ce" width="100" height="100" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" swLiveConnect="true" name="MonFlash_B">
  </embed>
</object>

<!-- Contrôle du movieClip "animation" -->
<a href=’javascript:window.document.MonFlash_B.TStopPlay("_level0/animation")’> Stop</a>
<a href=’javascript:window.document.MonFlash_B.TGotoFrame("_level0/animation", window.document.MonFlash_B.TCurrentFrame("_level0/animation")-1)’> Reculer</a>
<a href=’javascript:window.document.MonFlash_B.TPlay("_level0/animation")’> Play</a>
<a href=’javascript:window.document.MonFlash_B.TGotoFrame("_level0/animation", window.document.MonFlash_B.TCurrentFrame("_level0/animation")+1)’> Avancer</a>
<a href=’javascript:window.document.MonFlash_B.Zoom(200)’> Zoom out</a>
<a href=’javascript:window.document.MonFlash_B.Zoom(0)’> Rétablir</a>
<a href=’javascript:window.document.MonFlash_B.Zoom(50)’> Zomm in</a>
<a href=’javascript:window.document.MonFlash_B.TGotoFrame("_level0/animation", 1)’> Frame 1</a>
<a href=’javascript:window.document.MonFlash_B.TGotoFrame("_level0/animation", 8)’> Frame 8</a>

<!-- Affichage des propriétés -->
<form name="form">
<input name="btn" type="button" value="Liste des propriété" onclick="Aff_propriete()" />
</form>

<!-- Modifier les propriétés avec un formulaire -->
<form name="form2">
<input name="btn" type="button" value="Rotation" onclick="window.document.MonFlash_B.TSetProperty(’/’, 10, 45)" />
<input name="btn" type="button" value="Alpha" onclick="window.document.MonFlash_B.TSetProperty(’/animation’, 6, 50)" />
<input name="btn" type="button" value="Invisible" onclick="window.document.MonFlash_B.TSetProperty(’/animation’, 7, 0)" />
<input name="btn" type="button" value="Visible" onclick="window.document.MonFlash_B.TSetProperty(’/animation’, 7, 1)" />
</form>

</body>
</html>

 

Note sur le contrôle d’un Flash sur une autre cadre (frameset htnl)
Si le Flash est sur un autre cadre HTML, vous n’avez qu’à ajouter le nom du cadre:

parent.nomDuCadre.document.MonFlash_B

Django (Oznog) Blais
Dernière mise à jour :

Commentaires

       Visites : 1061 - Pages vues : 17658
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@