|
|
|
|
PRATIQUE FLASH |
|
|
|
AS2 : Faire appel aux fonctions imbriquées |
|
Combiner fonctions et méthodes pour exploiter les capacités de gestion d'évènements récurrents.
(08/11/2005) |
|
En
bon langage orienté Objet, ActionScript 2.0 permet de profiter
des fonctions imbriquées. Celles-ci correspondent exactement
à leur nom : il s'agit de fonctions déclarées dans le corps
même d'une méthode de la classe, ou même dans une autre fonction.
Le plus souvent, elles sont utilisées en combinaison avec un
appel setInterval(), pour appeler
la fonction régulièrement, ou sein d'objet utilisant fortement
leurs propriétés de gestion des évènements (Sound(),
XML()...).
class Chien {
public function seReveiller():Void {
setInterval(avoirFaim, 50000);
function avoirFaim():Void {
trace("Ouaf !");
}
}
var medor:Chien = new Chien();
medor.seReveiller();
setInterval() n'est pas pour
autant nécessaire pour utiliser des fonctions imbriquées
: une méthode peut simplement avoir une fonction imbriquée
afin d'y concentrer une partie de son code, et être plus
lisible, par exemple.
A savoir : le code en dehors de la fonction parente n'est pas
habilité à exécuter la fonction imbriquée.
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
L'un des obstacles possibles est l'impossibilité pour les fonctions
imbriquées d'accéder directement à this.
La solution est alors de profiter de leur capacité à accéder
aux variables locales des fonctions parentes, en stockant une
référence à l'objet dans une variable locale, et de se servir
de celle-ci comme on le ferait normalement avec this.
var thisChien:Chien = this; |
|
|
|
|
|