Le langage ActionScript > A propos de la programmation ActionScript > Contrôle de l'exécution d'ActionScript

 

Contrôle de l'exécution d'ActionScript

Lorsque vous rédigez un script, vous utilisez le panneau Actions pour associer le script à une image d'un scénario, ou à un bouton ou un clip sur la scène. Les scripts associés à une image sont exécutés lorsque la tête de lecture entre dans cette image. Toutefois, il se peut que les scripts associés à la première image d'une animation se comportent différemment que ceux qui sont associés aux images suivantes étant donné que la première image d'une animation est rendue de manière incrémentielle (les objets sont tracés sur la scène au fur et à mesure de leur téléchargement dans Flash Player), ce qui peut influer sur le moment où les actions sont exécutées. Toutes les images suivant la première sont rendues en même temps, lorsque tous les objets qu'elles contiennent sont disponibles.

Les scripts associés à des clips ou des boutons sont exécutés lorsqu'un événement se produit. Un événement est, par exemple, un mouvement de souris, une pression sur une touche ou le chargement d'un clip. Vous pouvez utiliser ActionScript pour déterminer quand de tels événements se produisent et exécuter des scripts en fonction de l'événement.

Les actions associées à un bouton ou clip sont incluses dans des actions spéciales appelées gestionnaires. Les actions onClipEvent et on sont baptisées gestionnaires, puisqu'elles « gèrent » un événement. Vous pouvez définir un ou plusieurs événements pour chaque gestionnaire. Les actions de clips et de boutons sont exécutées lorsque l'événement spécifié par le gestionnaire se produit. Vous pouvez associer plusieurs gestionnaires à un objet si vous souhaitez que différents événements déclenchent les actions.

Plusieurs gestionnaires onClipEvent associés à un clip sur la scène
 

L'action onClipEvent traite les événements de clips, alors que l'action on traite ceux de boutons. Vous pouvez également utiliser l'action on avec un clip afin de créer un clip de bouton, c'est-à-dire un clip qui reçoit les événements des boutons.

Les événements de clips et de boutons peuvent également être traités par les méthodes des objets MovieClip et Button. Vous devez définir une fonction et l'affecter à la méthode de gestionnaire d'événement, la fonction étant exécutée lorsque l'événement se produit. Vous pouvez utiliser des méthodes d'événement pour traiter les événements de clips créés de façon dynamique. Les méthodes d'événement sont également utiles pour traiter tous les événements d'une animation d'un même script : il n'est pas nécessaire d'associer le script à l'objet dont vous traitez l'événement.

Par exemple, si vous avez placé un bouton sur la scène et que vous utilisez le panneau Actions pour ajouter une action trace, le code suivant est affiché :

on (release) {
	trace("Vous m'avez cliqué !");
}

Vous pouvez utiliser une méthode pour créer le même effet, comme ci-dessous :

monClip.onRelease = function () {
	trace("Vous m'avez cliqué !");
}

Pour plus d'informations, consultez Utilisation des clips et boutons.

Le tableau suivant présente les gestionnaires d'événement de bouton et leurs méthodes :

Actions de gestionnaire d'événement

Méthodes de gestionnaire d'événement

on (press)

onPress

on (release)

onRelease

on (releaseOutside)

onReleaseOutside

on (rollOver)

onRollOver

on (rollOut)

onRollOut

on (dragOver)

onDragOver

on (dragOut)

onDragOut

on (keyPress"...")

onKeyDown, onKeyUp


Le tableau suivant présente les gestionnaires d'événement de clip et leurs méthodes :

Actions de gestionnaire d'événement

Méthodes de gestionnaire d'événement

onClipEvent(load)

onLoad

onClipEvent (unload)

onUnload

onClipEvent(enterFrame)

onEnterFrame

onClipEvent (mouseDown)

onMouseDown

onClipEvent (mouseUp)

onMouseUp

onClipEvent (mouseMove)

onMouseMove

onClipEvent (keyDown)

onKeyDown

onClipEvent (keyUp)

onKeyUp

onClipEvent (data)

onData


ActionScript permet également de traiter les événements de champs de texte et d'autres objets ActionScript. Pour plus d'informations, consultez le dictionnaire ActionScript (via le menu Aide).