ActionScript 3 – Programmation séquentielle et orientée objet
48
Pour afficher la largeur d’une occurrence dans la fenêtre Sortie de Flash nous devions
écrire l’instruction suivante :
trace(nomDuneOccurrence._width);
La largeur de la scène pouvait être affichée à l’aide de l’instruction :
trace(Stage.width);
En ActionScript 3, toutes les instructions ci-dessous renvoient le même résultat, c’est-àdire le chiffre 600 qui correspond à la largeur de la scène.
trace(stage.stageWidth);
trace(this.stage.stageWidth);
trace(rond.stage.stageWidth);
trace(carre.stage.stageWidth);
Une animation désignée par this à la racine d’un script, possède ainsi une propriété
stage. Toutes les occurrences placées sur la scène, que nous devons qualifier d’objet
d’affichage (ou DisplayObject), possèdent également la propriété stage qui se réfère à la
celle de l’animation.
En conséquence, si nous essayons d’afficher this à partir d’une image-clé de l’animation,
nous obtenons :
trace(this);
Ce résultat peut se traduire par « objet de type timeline principale ».
Pour celles et ceux qui ont bien compris la notion de programmation objet, voici ce que
renvoie le script ci-dessous, qui se trouve dans la classe du document d’une animation.
package {
import flash.display.Sprite;
public class main extends Sprite {
function main() {
trace(this);
trace(this.stage);
trace(this.stage.stageWidth);
}
}
}
Pourquoi rencontre-t-on le mot stage en début de ligne dans le premier des quatre exemples ?
Aux 3 e et 4 e lignes de code, nous faisons référence à une instance particulière. Lorsque ce n’est pas le
cas, comme à la première ligne, l’instance considérée est this.
[object MainTimeline]
[object main]
[object Stage]
600
48
Pour afficher la largeur d’une occurrence dans la fenêtre Sortie de Flash nous devions
écrire l’instruction suivante :
trace(nomDuneOccurrence._width);
La largeur de la scène pouvait être affichée à l’aide de l’instruction :
trace(Stage.width);
En ActionScript 3, toutes les instructions ci-dessous renvoient le même résultat, c’est-àdire le chiffre 600 qui correspond à la largeur de la scène.
trace(stage.stageWidth);
trace(this.stage.stageWidth);
trace(rond.stage.stageWidth);
trace(carre.stage.stageWidth);
Une animation désignée par this à la racine d’un script, possède ainsi une propriété
stage. Toutes les occurrences placées sur la scène, que nous devons qualifier d’objet
d’affichage (ou DisplayObject), possèdent également la propriété stage qui se réfère à la
celle de l’animation.
En conséquence, si nous essayons d’afficher this à partir d’une image-clé de l’animation,
nous obtenons :
trace(this);
Ce résultat peut se traduire par « objet de type timeline principale ».
Pour celles et ceux qui ont bien compris la notion de programmation objet, voici ce que
renvoie le script ci-dessous, qui se trouve dans la classe du document d’une animation.
package {
import flash.display.Sprite;
public class main extends Sprite {
function main() {
trace(this);
trace(this.stage);
trace(this.stage.stageWidth);
}
}
}
Pourquoi rencontre-t-on le mot stage en début de ligne dans le premier des quatre exemples ?
Aux 3 e et 4 e lignes de code, nous faisons référence à une instance particulière. Lorsque ce n’est pas le
cas, comme à la première ligne, l’instance considérée est this.
[object MainTimeline]
[object main]
[object Stage]
600
