Introduction à Flash
Interface du logiciel
Manipulation du texte
Manipulation des formes
Symboles & Occurrences

Gestion du scénario (la Timeline)
Interpolations

Masques et guide de mouvement

Téléchargements
  - www.lexplicateur.com (flas)
  - Archives de .flas (MX)
  - PDF


# Niveaux I : Techniques de bases

[11-04-02]

- Contrôler la tête de lecture d'une timeline

- Arrêter la tête de lecture
- Lancer la tête de lecture (jouer une animation préalablement arrêtée)
- Déplacement vers une image
- Déplacement vers l'image suivante et/ou précédente


- Se rendre à une page web

- Atteindre une URL avec getURL()
- Ouvrir une pop-up

- Contrôler une occurrence sur la scène

- Propriétés (_x, _y, _xScale,_yScale, _width, _height, _alpha, _visible, _rotation)
- Coordonnées de la souris (_xmouse et _ymouse)
- Mobilité (Déplacer une occurrence manuellement ou automatiquement avec startDrag())
- Duplication (duplicateMovielip())
- Test de collision (hitTest())
- Masque dynamique (setMask())
- Création dynamique d'occurrence sur la scène (createEmptyMovieClip())
- Placer un symbole dynamiquement sur la scène (attachMovie())
- Désactiver l'occurrence d'un bouton
- Masquer le curseur de type doigt sur un bouton
- Afficher le curseur de type doigt sur l'occurrence d'un clip
- Définir la zone de clic d'un clip.
- Ramener une occurrence au premier plan (par dessus toutes les autres).

Pour consulter de nombreux exemples supplémentaires, consultez également Lexplicateur.com.


Remarque : L'utilisation des commandes de navigation ne se limite pas au contrôle/déplacement de la tête de lecture dans une animation (sur la timeline). Vous pouvez aussi les utiliser pour contrôler un film. Entendons par film, la notion de vidéo, séquence vidéo .mov ou .avi importée dans une animation. Attention de ne pas importer pour autant une vidéo trop lourde (longue). Une vidéo doit être placée de préférence dans un clip qui est lui même placé sur la scène. Vous contrôlez alors le clip avec la syntaxe pointée.

 

Contrôler la tête de lecture d'une animation

Dans les exemple ci-dessous, nous allons voir les techniques qui permettent de changer le contenu de la scène, c'est à dire changer ce que vous voyez dans votre animation en utilisant de simples commandes.

Rappels :

- Une animation est une suite d'images présentées dans une timeline (scénario) sur laquelle se déplace la tête de lecture.
- Lorsque vous lancez votre animation, si aucune instruction n'est exécutée, la lecture de votre animation se fera en boucle et sans arrêt de la tête de lecture, de la première à la dernière image.
- Pour insérer une commande avec le raccourci clavier combinant la touche Escape (Echappe) qui se trouve en haut à gauche de votre clavier, pensez à ne pas maintenir cette touche comme vous le faites habituellement avec la touche CTRL. Appuyez une fois sur la touche Esc, relâchez la, appuyez sur une première touche, relâchez la, appuyer enfin sur une deuxième touche.

stop () - Arrêter la tête de lecture

Cette commande permet d'arrêter (bloquer) la tête de lecture lorsque l'animation est en cours de lecture. Elle peut-être placée sur une image-clé ou dans un gestionnaire (ex. : sur un bouton).

 
 
> Méthodologie : Placez simplement le script ci-dessous sur une image clé.
1. Cliquez sur une image clé de la timeline
2. Placez l'instruction ci-dessous dans la fenêtre Actions.

stop();

Dans l'exemple ci-dessus, l'arrêt de la tête de lecture se fait automatiquement. Pour arrêter la tête de lecture sur un clic, suivez la méthode ci-dessous :

> Méthodologie : Placez simplement le script ci-dessous sur l'occurrence d'un bouton.

on(press) {
   stop();
}

> Autre méthodologie : Contrôle d'une vidéo.
Si vous faites appel à cette commande pour contrôler un clip qui contient une séquence d'images, utilisez le script ci-dessous :

on(press) {
   mavideo.stop();
}

Dans l'exemple ci-dessus, "mavideo" est le nom donné à l'occurrence du clip qui contient la séquence d'images.

 

Remarque : Vous pouvez utiliser ce raccourci : Touche Esc-S-T

play () - Lancer la tête de lecture

Cette commande permet de relancer la tête de lecture lorsqu'elle a été préalablement stoppée avec la commande stop().

 
 
> Méthodologie : Placez simplement l'instruction ci-dessous sur l'occurrence d'un bouton.

on(press) {
   play();
}

> Autre méthodologie : Contrôle d'une vidéo.
Si vous faites appel à cette commande pour contrôler un clip qui contient une séquence d'images, utilisez le script ci-dessous :

on(press) {
   mavideo.play();
}

Dans l'exemple ci-dessus, "mavideo" est le nom donné à l'occurrence du clip qui contient la séquence d'images.

Remarque : Vous pouvez utiliser ce raccourci : Touche Esc-P-L

gotoAndStop() - Déplacement vers une image

> Méthodologie : Placez simplement l'instruction ci-dessous sur l'occurrence d'un bouton.

on(press) {
   gotoAndStop();
}

Remarque : Vous pouvez utiliser ce raccourci : Touche Esc-G-S

nextFrame() et prevFrame() - Déplacement vers l'image suivante

Ces deux commandes s'utilisent très simplement. Placez chacun des deux scripts ci-dessous sur 2 boutons localisé sur la scène afin de déplacer la tête de lecture de votre animation une image avant ou après celle sur laquelle vous vous trouvez.

 
 

 

on(press) {
   nextFrame();
}

on(press) {
   prevFrame();
}

Remarque : Vous pouvez utiliser ces raccourcis : Touche Esc-N-F et Esc-P-F.

Attention de ne pas saisir previousFrame().

SE RENDRE A UNE PAGE WEB

Atteindre une URL avec getURL()

Cette commande s'avère indispensable dès lors que vous avez besoin d'atteindre une page HTML, PHP, communiquer avec d'autres environnements.

Commençons peut-être par rappeler qu'un swf ne se lit pas obligatoirement à partir dans une page web à l'intérieur d'une fenêtre d'un navigateur. Un swf peut être lu à partir du player Flash, il peut être intégré dans un projecteur ou encore être importé dans un fichier Director (certains téléphones mobiles peuvent lire les swf et bien d'autres appareils).

Dans le cas où vous lisez un swf à partir du player ou par le biais d'un projecteur, si vous souhaitez lancer un navigateur et vous rendre à une URL (adresse web) précise, vous devez utiliser cette commande. Placez alors l'instruction ci-dessous dans le script de votre choix.

getURL("http://www.lesitequejaime.com")

Pour les novices, si vous ne vous sentez pas l'âme d'un programmeur, vous pouvez utiliser cette commande pour ouvrir le logiciel de messagerie afin que le visiteur de votre site vous laisse un message.

getURL("mailto:monadresse@monfournisseur.com")

Ouvrir une pop-up

Lorsque vous cliquez sur un lien (un texte ou une image) et déclenchez par la même occasion l'ouverture d'une fenêtre (parfois dimensionnée et positionnée précisément sur votre écran), c'est ce qu'on appelle une pop-up. Cette technique vous permet ainsi d'ouvrir une fenêtre supplémentaire sans quittez la page que vous êtes en train de consulter.

> Méthodologie : Ouvrir une pop lors d'un clic sur l'occurrence d'un bouton.

1. Sélectionnez l'occurrence d'un bouton
2. Cliquez dans la fenêtre Actions
3. Saisissez le script ci-dessous :

on (press) {
  getURL("javascript:void(window.open('http://www.apple.com','','TOP=30,LEFT=30,HEIGHT=300,WIDTH=300'))");
}

Explications : Avant de rentrer dans le détail des explications, si vous connaissez déjà le javascript, vous pouvez alors créer tout simplement une fonction dans votre page HTML (celle qui contient votre SWF), vous allez alors faire référence au nom de votre fonction à partir de Flash.

Pour ceux qui ne manipulent pas si facilement le javascript, vous utilisez la fonction open() de l'objet window en javascript. D'où le résultat window.open(). A l'intérieur des parenthèses, vous avez un certain nombre de paramètres que nous allons vous présenter ci-dessous.

Pour exécuter une fonction javascript à partir de Flash, vous devez utiliser la fonction getURL() (pas obligatoirement sur un bouton comme dans notre exemple). Cette dernière est une instruction propre à Flash et pour la combiner avec la fonction javascript énoncée ci-dessus, vous devez préfixer window.open() par le mot javascript suivi de 2 points (:) :

getURL("javascript:window.open()")

Le tout doit être placé entre guillemets dans la fonction getURL() comme vous pouvez le voir dans l'exemple ci-dessus. Problème : Les paramètres qui se trouve dans la fonction open() doivent être eux aussi entre guillemets, mais comme nous avons déjà utilisé des "" à l'intérieur de getURL(), vous devez utiliser les simples quottes :

getURL("javascript:window.open('Adresse d'une page web','Nom de la fenêtre','Paramètres')).

getURL("javascript:window.open('http://www.apple.com','','TOP=30,LEFT=30,HEIGHT=300,WIDTH=300')");

Dans certains cas, vous rencontrerez sûrement un problème de page qui s'efface et affiche "void" (la page qui contient le SWF). Pour éviter cela, vous devez ajouter void() à votre code.

getURL("javascript:void(window.open('http://www.apple.com','','TOP=30,LEFT=30,HEIGHT=300,WIDTH=300'))");

Tableau d'attributs que vous pouvez utiliser comme paramètres de la fonction open() :

Attribut

Valeur

Description

height

Pixels

Hauteur de la fenêtre

width

Pixels

Largeur de la fenêtre

top

Pixels

Position de la fenêtre du haut de l'écran

left

Pixels

Position de la fenêtre du côté gauche de l'écran

scrollbars

Yes/No

Aficher/Masquer les ascenseurs

toolbar

Yes/No

Afficher/Masquer la barre d'outils (Boutons Page préc, Home, Imprimer, etc...)

status

Yes/No

Afficher/Masque la barre d'état (en bas d'une fenêtre)

titlebar

Yes/No

Afficher/Masquer la barre de titre

resizable

Yes/No

Autorise/Interdit l'agrandissement manuel de la fenêtre (Sauf sur Mac, toujours redim.)

Si l'attribut que vous choisissez ne nécessite pas la précision de valeurs (en pixels), vous devez utiliser les valeurs YES ou NO pour demander l'exécution ou non.

CONTROLER UNE OCCURRENCE SUR LA SCENE

Propriétés

Lorsqu'une occurrence se trouve sur la scène, vous pouvez contrôler ses propriétés, c'est à dire :

- Sa position avec les propriétés _x et _y
- Son échelle avec les propriétés _xscale et _yscale
- Ses dimensions avec les propriétés _width et _height
- Sa visibilité avec la propriété _visible
- Sa transparence avec la propriété _alpha

Pour utiliser l'une de ses propriétés dans une ligne d'instruction, vous devez utiliser la syntaxe pointée en faisant précéder la propriété choisie avec le nom d'une occurrence (ou un chemin qui indique un nom d'occurrence). Vous pouvez changer la valeur d'une des propriétés d'une occurrence avec une valeur fixe mais cette dernière peut être relative. En effet, le script ci-dessous place l'occurrence intitulé "moncadre" à 45 pixels du bord gauche de la scène.

moncadre._x=45

Alors que le script suivant (dé)place l'occurrence de 5 en 5 pixels vers la droite.

moncadre._x=moncadre._x+5

Résumons : Vous pouvez placer une occurrence à une position précise sur la scène mais aussi la faire avancer. C'est sur cette dernière technique que nous allons redévelopper nos explications. Pour commencer, tant de simplifier la ligne d'instruction ci-dessus.

moncadre._x+=5

Cette syntaxe vous gène sûrement si vous n'êtes pas habitués à la programmation. Vous pouvez dans ce cas traduire cette ligne d'instruction par :

L'occurrence "moncadre", concernant sa position horizontale sur la scène, je souhaite lui ajouter 5 pixels et qu'il exécute le déplacement.

Si cette syntaxe vous gène, n'hésitez pas un instant à retenir la première.

Vous l'avez donc compris, si vous souhaitez faire tourner une occurrence et non la positionner (ou la faire avancer), vous utiliserez _rotation. Pour toutes ces propriétés, quelles sont les valeurs limites à ne pas dépasser. Voici un tableau récapitulatif mais nous attirons votre attention sur le fait que nous n'avons pas eu besoin de préciser l'unité dans nos exemple ci-dessus (45 pixels, +5 pixels). Vous ne devez donc jamais saisir les signes pourcentage, degré ou pixels avec les propriétés ci-dessous :

Propriétés

Valeurs min - max

Unité et Observations

_x et _y

- l'infini et + l'infini

PIXELS - Vous pouvez placer des occurrences en dehors de la scène en précisant des valeurs négatives ou supérieurs aux dimensions de la scène.

_xscale et _yscale

- l'infini et + l'infini

POURCENTAGE - Des valeurs négatives permettent d'obtenir une symétrie. 50% appliqués à une occurrence qui est déjà à 50% ne change rien et ne donne surtout pas 25%.

_width et _height

- l'infini et + l'infini

PIXELS - Représente une valeur absolue par opposition

_visible

0 ou 1

BOOLEAN - 0 (Invisible) OU 1 (Visible)

_alpha

0 à 100

POURCENTAGE

Exemples :

moncadre._y=45
moncadre._xscale=75
moncadre._width=350
moncadre._visible=0
moncadre._alpha=30

L'occurrence intitulée mon cadre est :

Exemple 1 : positionnée à 45 pixels du haut de la scène
Exemple 2 : étirée 3,5 fois plus large que sa largeur d'origine
Exemple 3 : réglée à 350 pixels de large
Exemple 4 : est rendue invisible (masquée)
Exemple 5 : transparente à 30% d'opacité

Nous conclurons sur un technique qui va vous permettre d' exécuter en boucle l'incrémentation de la valeur d'une propriété.

Incrémenter la valeur d'une propriété

> Méthodologie : Déplacer et faire pivoter une occurrence en boucle.

1. Sélectionnez l'occurrence d'un clip
2. Nommez la (ex. : titre)
3. Cliquez sur l'image clé de la timeline ou sur la scène
4. Cliquez dans la fenêtre Actions
5. Saisissez le script ci-dessous :

 

_root.onEnterFrame = function() {
  titre._x += 0.1;
  titre._y += 0.05;
  titre._rotation += 0.1;
};

Explications : Grâce au gestionnaire d'évènement _root.onEnterFrame, tout le code contenu entre les accolades est exécuté en boucle. Si vous souhaitez arrêter (interrompre) ce processus, vous devez utiliser la ligne d'instruction ci-dessous. (Vous pouvez placer cette instruction sur un bouton ou dans une structure de test if()).

delete _root.onEnterFrame

Faites référence au chapitre sur la temporisation d'une animation pour plus de détail.

Propriétés _xmouse et _ymouse

Il est parfois nécessaire de connaître la position de la souris. Les coordonnées de cette dernière sont renvoyées sous la forme suivante : X pixels du bord gauche de la scène, y pixels du haut de la scène. La condition qui permet de lire les coordonnées par rapport au coin supérieur gauche de la scène et de faire précéder _xmouse et _ymouse du mot _root. Pour les novices, rappelons que vous avez le droit de traduire _root par "sur la scène". Cela donne donc

posiSourisX=_root._xmouse;
posiSourisY=_root._ymouse;

Dans cet exemple nous venons de stocker les coordonnées de la souris dans deux variables intitulées posiSourisX et posiSourisY. La question que vous vous posez sûrement ou peut-être est : Mais où dois-je placer ces deux lignes d'instructions ? La réponse est simple. Tout dépend de l'instant où vous souhaitez récupérer ces coordonnées.

> Méthodologie N°1 : Vous récupérez les coordonnées en permanence.
1. Placez le script ci-dessous sur une image clé de la timeline.

_root.onEnterFrame = function() {
   posiSourisX=_root._xmouse;
   posiSourisY=_root._ymouse;
}

> Méthodologie N°2 : Vous récupérez les coordonnées sur un clic.
1. Placez le script ci-dessous sur l'occurrence d'un bouton.

on(press) {
   posiSourisX=_root._xmouse;
   posiSourisY=_root._ymouse;
}

 

> Méthodologie N° 3: Vous récupérez les coordonnées toutes les 5 secondes.
1. Placez le script ci-dessous sur une image clé de la timeline.

function recupCoordSouris() {
   posiSourisX=_root._xmouse;
   posiSourisY=_root._ymouse;
}
setInterval(recupCoordSouris,5000)

Pour plus d'informations sur la notion de setInterval() veuillez vous reporter au chapitre traitant de cette fonction. Temporisation d'une animation > setInterval().

Voici quelques exemples d'utilisation de la souris...

1. Déplacez votre réticule et cliquez pour dessiner..

2. Cliquez pour déplacez le personnage.

3. Déplacez votre souris pour faire avancer ou reculer votre panorama.

 

Rendre une occurrence mobile sur la scène

Si vous souhaitez rendre une occurrence mobile sur la scène, vous disposez de 2 techniques. En utilisant un gestionnaire onEnterFrame (ou un listener) avec les propriété _xmouse et _ymouse ou bien en faisant appel à la commande startDrag(). C'est sur cette dernière que nous allons nous attarder.

La commande peut elle-même être employée de 2 façons. Pour un déplacement automatique, placez de préférence l'instruction ci-dessous sur une image clé ("etiquette" est le nom d'une occurrence sur la scène).

startDrag(etiquette,1)

Pour une mobilité manuelle, placez de préférence le script ci-dessous sur l'occurrence d'un bouton. ("pion" est le nom de l'occurrence sur laquelle vous placez ce script).

on(press) {
   startDrag(pion)
}
on(release) {
   stopDrag()
}

Contraindre le déplacement de l'occurrence dans une zone définie

Si vous ajoutez 4 paramètres supplémentaires à la commande startDrag(), vous pouvez définir une zone dans laquelle le centre de votre occurrence doit absolument rester.

on(press) {
   startDrag(tete, false, 48, 12, 309, 153)
}
on(release) {
   stopDrag()
}

Vous pouvez aussi contraindre le déplacement d'une occurrence sur un seul axe (horizontal ou vertical)

Dans certains cas, vous aurez besoin de déplacer une occurrence sur un axe comme c'est le cas pour les variateurs. Un exemple vous est présenté dans la partie consacrée à l'objet Sound(). Le voici :

Ex. de variateur :
(sans son)

 

 

Dupliquer une occurrence

La duplication d'occurrence vous évitera de placer plusieurs fois un symbole sur la scène. Vous pouvez ainsi obtenir plusieurs occurrences du même symbole à partir de quelques lignes de code. Dans certains cas, il est même impossible de placez soit même les occurrences. Les deux exemples ci-dessous vous démontre qu'il serait impensable et impossible de placer individuellement les occurrences sur la scènes (le premier exemple est présenté quelques lignes plus haut pour introduire la notion _xmouse et _ymouse).

Explications : Un clip a été placé dans le coin supérieur gauche de la zone noire. Il contient un script qui permet de dupliquer une occurrence (qu'il contient) afin d'en obtenir plusieurs. Dans cet exemple, nous avons dupliquer nos occurrences dans un clip car nous n'avons ainsi plus besoin de déplacer toutes les étoiles mais uniquement le clip qui contient les duplications.

for (i=2; i<1000; i++) {
   duplicateMovieClip(eclat, "eclat"+i, i);
   eval("eclat"+i)._x = random(9000)-3000;
   eval("eclat"+i)._y = random(300);
}

Explications : Une boucle est nécessaire pour exécuter de façon répétée une action un certain nombre de fois (998 fois dans notre exemple). Vous pouvez alors demandé la duplication de votre occurrence (ex. une occurrence intitulée "eclat"). Lorsque vous dupliquez une occurrence, vous devez impérativement donner un nom unique à la duplication obtenue. Pour se faire, nous dénommons toutes nos occurrences eclat1, eclat2, eclat3, etc. La concaténation de la chaîne de caractères "eclat"et de la valeur i qui change à chaque duplication grâce à i++ permet d'obtenir un nouveau nom. Lorsque la duplication est faite, vous devez alors placer votre occurrence dupliquée. Pour faire référence à votre nouvelle occurrence, vous pouvez utiliser son nom directement (ex. "eclat17"). Problème ! Vous devez profiter de cette boucle en cours d'exécution pour faire référence à ces noms par concaténation. Vous demandez à Flash qu'il interprète (qu'il évalue) le résultat de la concaténation. Certains programmeurs pensent que la fonction eval() est incompatible et/ou déconseillée, ils préfèrent utiliser la syntaxe suivante _root["eclat"+i]. A vous de faire votre choix. La fonction random() permet d'obtenir une plage de chiffres et nombres. Dans cet exemple, les valeurs obtenues s'étalent de -3000 à 6000. Random(10) permettrait d'obtenir une valeur comprise entre 0 et 9 inclus. Certains puristes préfèrent utiliser la fonction aléatoire disponible avec l'objet Math !!! Ah ! Ces puristes !

 

 

 

Cet exemple, nous démontre très bien qu'il serait impensable de réaliser cette animation en plaçant nous même le symbole plusieurs fois sur la scène.

 

Test de collision avec hitTest()

Lorsque vous souhaitez tester si 2 occurrences se touchent ou si la souris touche une occurrence précise, vous devez utiliser cette commande hitTest().

Les paramètres de cette fonction peuvent contenir 2 informations de natures différentes. Le nom d'une occurrence ou des coordonnées x et y. Ces coordonnées x et y peuvent être celles de la position de la souris sur la scène.

 
> Méthodologie : Tester l'intersection entre 2 occurrences.
1. Placer deux clips sur la scène
2. Nommez les occurrences obtenues (ex. : gauche et droite)
3. Placez le script ci-dessous sur l'image clé de la timeline.

 

_root.onEnterFrame = function() {
   gauche._x++;
   droite._x--;
   if (gauche.hitTest(droite)) {
      delete _root.onEnterFrame;
      clipbing._y = 81;
   }
};

Explications : Outre le fait que la progression (_x++ et _x--) des 2 occurrences se fait en boucle grâce au gestionnaire onEnterFrame (pour faire les avancer), la fonction hitTest() doit être exécutée au sein d'une structure de test. Ce même test doit lui même être fait en continu, d'où l'emplacement de cette instruction dans ce même gestionnaire onEnterFrame.

N.B. : Le seul bouton de cette animation(en bas, au centre) permet simplement de relancer le test.

Pour tester l'intersection entre un clip et la souris, utilisez la syntaxe ci-dessous :

if (gauche.hitTest(_root._xmouse,_root._ymouse, true))clipbing._y=60

Le paramètre true permet simplement de définir le mode d'intersection entre l'occurrence et la souris. Dans l'exemple ci-dessous (Img. 1.1), avec le paramètre true, l'intersection est réelle dans les 2 cas. Avec le paramètre false, seul le cas de gauche constate l'intersection.


Img 1.1 : Avec true, les 2 cas ci-dessus renvoie true au test d'intersection avec hitTest().

Pour les 4 techniques suivantes : Ecrivez nous, on vous répondra !!! Non, sérieusement, envoyez un mail, je vous aiderai personnellement.

Masque dynamique

A venir avec ... nomoccurrence.setMask(nomoccurrence)

 

Création dynamique d'occurrence sur la scène

A venir avec ... _root.createEmptyMovieclip("nomoccurrence",1)

 

Placer un symbole dynamiquement sur la scène

A venir avec _root.attachMovie("nomIDSymbole",1)

 

 

Désactiver l'occurrence d'un bouton

Dans certains cas, vous aurez besoin de garder la présence d'un bouton sur la scène mais ce dernier ne doit pas être cliquable. Donnez un nom à l'occurrence d'un bouton sur la scène (ex. : sortie). Vous pouvez alors utiliser la ligne d'instruction ci-dessous :

sortie.enabled=0

Vous remarquerez que le bouton survolé ne change pas l'apparence du curseur en forme de doigt. Vous conservez le curseur en forme de flèche.

Masquer le curseur de type doigt sur l'occurrence d'un bouton

Dans certains cas, vous aurez besoin de masquer le curseur de type doigt qui apparaît lorsque vous survolez un bouton tout en gardant l'interactivité qui lui a été définie. Cette technique peut ainsi "cacher" un bouton. En effet, dès que le curseur de la souris survole un bouton, l'apparence de votre souris change inéluctablement d'apparence. Placez le script ci-dessous sur une image clé, votre bouton (pourquoi pas un bouton transparent) sera alors cliquable mais le curseur gardera son apparence de flèche.

gauche.useHandCursor = 0

"gauche" est le nom que vous aviez donné à l'occurrence d'un bouton sur la scène.

 

Afficher le curseur de type doigt sur l'occurrence d'un clip

Dans certains cas, vous aurez besoin de pouvoir cliquer sur l'occurrence d'un clip. Il est clair que vous ne pouvez pas placer de script sur une occurrence qui gère l'évènement "Press". Procédez alors ainsi :

> Méthodologie : Changer le curseur flèche en doigt sur l'occurrence d'un clip
1. Commencez par nommer l'occurrence d'un clip (ex. : droite)
2. Placez le script ci-dessous sur une image clé

droite.onPress = 1;
droite.useHandCursor = 1

Comme vous pouvez le remarquer, nous avons appliquez un gestionnaire d'évènements à l'occurrence du bouton afin qu'elle reconnaisse la propriété useHandCursor. Si vous souhaitez associer une fonction au lieu de la valeur 1 (droite.onPress = function() {), rien ne vous en empêche.

Définir la zone de clic d'un clip

Cette technique sous entend que vous savez placer un script sur l'image clé de la timeline d'un clip et que vous mesurez les conséquences et avantages de placer un script à cet endroit. Référez-vous éventuellement à la partie qui traite de ce type de symbole : Programmer un clip pour en faire un modèle.

> Méthodologie : Placer un clip dans votre clip puis ajoutez du code dans ce dernier
1. Placez un clip à l'intérieur de celui dans lequel vous souhaitez définir une zone de clic
2. Nommez l'occurrence obtenue (ex. : zoneClic)
3. Ajoutez le script ci-dessous sur l'image clé 1 de la timeline du clip dans lequel vous venez de placez votre clip qui sert de zone de clic

this.hitArea = zoneClic
zoneClic._visible=0

Vous avez suivi ? Non, téléchargez dans ce cas l'exemple ci-dessous et analysez la composition du clip intitulé "Boule" qui se trouve dans la bibliothèque.

 

 

De cette façon, vous pouvez définir une zone précise qui répondra au survol et au clic de votre souris sur ce clip. Pour rendre mobile l'occurrence de l'exemple ci-dessus, le script ci-dessous a été ajouté après les deux premières lignes de commandes.

 

this.onPress = function() {
   this.startDrag();
};
this.onRelease = function() {
   stopDrag();
};


Ramener une occurrence au dessus de toutes les autres

Lorsque vous placez une occurrence sur la scène, elle vient naturellement se placer toujours au dessus des autres (si vous la faites se chauvaucher avec une autre). Nos parlons dans ce cas de "niveau" alors qu'on utilise habituellement le terme de plan. Il s'agit de la même notion. Premier et arrière plan. Plus le niveau d'une occurrence est faible, plus elle se trouve en arrière plan. Lorsque vous utilisez une des fonctios suivantes, vous devez préciser un plan. createEmptyMovieClip(), attachMovie() et duplicateMovieClip(). Que vous utilisez donc une de ces fonctions ou que vous placiez vous mêmes des occurrences sur la scène, lorsque vous manipulez plusieurs occurrences sur la scène, vous devez parfois en placer une au dessus de toutes les autres. Pour cela, la technique est simple. Vous devez "récupérer" le niveau le plus haut qui est libre et l'utiliser.

> Méthodologie : Placer un clip au dessus de tous les autres.
1. Placez le script ci-dessous sur l'image clé 1 de la timeline du clip.

this.onPress = function() {
   this.swapDepths(_root.getNextHighestDepth());
};