Le langage ActionScript > Structure des scripts |
![]() ![]() ![]() |
Structure des scripts
Dans l'exemple d'animation zapper.swf, la coccinelle tombe et la prise tremble lorsque l'utilisateur fait glisser la coccinelle vers la prise. Le scénario principal ne comprend qu'une image et contient trois objets : la coccinelle , la prise et un bouton de réinitialisation.Chacun de ces objets est une occurrence de clip.
L'animation contient un script associé à l'occurrence bug
, comme dans le panneau Actions ci-dessous :
Le panneau Actions avec le script associé à l'occurrence bug
Le nom de l'occurrence de coccinelle est bug
et le nom de l'occurrence de prise est zapper
. Dans le script, la référence à la coccinelle est this
, car le script est associé à la coccinelle et le mot réservé this
désigne l'objet qui le contient.
Il existe deux gestionnaires onClipEvent
avec deux événements différents : load
et enterFrame
. Les actions contenues dans l'instruction onClipEvent(load)
sont exécutées une seule fois, au chargement de l'animation. Les actions contenues dans l'instruction onClipEvent(enterFrame)
sont exécutées à chaque fois que la tête de lecture entre dans une image. Même dans une animation composée d'une seule image, la tête de lecture entre plusieurs fois dans cette image et le script est exécutée à plusieurs reprises. Les actions suivantes se déroulent à l'intérieur de chaque gestionnaire onClipEvent
:
onClipEvent(load) Deux variables, initx
et inity
, sont définies de manière à stocker les positions x et y initiales de l'occurrence de clip bug
. Une fonction est définie et affectée à l'événement onRelease
de l'occurrence Reset
. Cette fonction est appelée à chaque clic sur le bouton de réinitialisation. La fonction replace la coccinelle en position de départ sur la scène, réinitialise ses valeurs alpha et de rotation, et rend à la variable zapped
la valeur false
.
onClipEvent(enterFrame) Une instruction conditionnelle if
utilise la méthode hitTest
pour vérifier si l'occurrence de la coccinelle touche l'occurrence de la prise (_root.zapper
). Cette évaluation peut avoir deux types de résultats, true
ou false
:
onClipEvent(load) { initx = _x; inity = _y; _root.Reset.onRelease = function() { zapped = false; _x = initx; _y = inity; _alpha = 100 _rotation = 0; }; }
Si la méthode hitTest
renvoie true
, la méthode stopDrag
est appelée, la variable zapper
est fixée à true
, les propriétés alpha et rotation sont modifiées, et l'exécution de l'occurrence zapped
est lancée.
Si la méthode hitTest
renvoie false
, le code placé entre {}
qui suit immédiatement l'instruction if
n'est pas exécuté.
Deux gestionnaires on
sont associés à l'occurrence bug
avec deux événements différents : press
et release
. Les actions de l'instruction on(press)
sont exécutées après l'enfoncement du bouton de la souris au-dessus de l'occurrence bug
. Les actions de l'instruction on(release)
sont exécutées après le relâchement du bouton de la souris au-dessus de l'occurrence bug
. Les actions suivantes se déroulent à l'intérieur de chaque gestionnaire onClipEvent
:
on (press) Une action startDrag
rend la coccinelle déplaçable. Le script étant associé à l'occurrence bug
, le mot-clé this
indique que c'est l'occurrence bug
qui peut être déplacée :
on (press) { this.startDrag(); }
on (release) Une action stopDrag
arrête l'action de déplacement :
on (release) { stopDrag(); }
![]() ![]() ![]() |