geek space web solutions

Accès à la propriété stage en AS3

Monday, 10 May 2010 18:52
There are no translations available.

Selon l'organisation d'un projet Flash/AS3, lors de la compilation, Flash ne connait pas ou plus la propiété "stage". Vous obtenez alors le message suivant : "Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul" indiquant une ligne où vous trouvez par exemple : stage.stageHeight ...

Stage
package : flash.display
La classe Stage représente la zone de dessin principale. La scène correspond à l'ensemble de la zone où s'affiche le contenu Flash®.

Classe Stage et liste d'affichage
L’objet Stage n’est plus accessible de manière globale comme c’était le cas en ActionScript 1 et 2. Chaque application ActionScript 3 possède un seul objet Stage et donc une seule et unique liste d’affichage. Il faut considérer l’objet Stage comme le noeud principal de notre liste d’affichage. Celle-ci peut être représentée comme une arborescence XML...

L'objet qui fait appel à la propriété stage doit obligatoirement être ajouté à la liste d’affichage afin de pouvoir retourner une référence à l’objet Stage. Concrètement, si nous ciblons la propriété stage sur un DisplayObject non présent dans la liste d’affichage, celle-ci nous renvoie null...

Evénement ADDED_TO_STAGE
Grâce à l’événement Event.ADDED_TO_STAGE, nous pouvons accéder de manière sécurisée à l’objet Stage, car la diffusion de cet événement nous garantit que l’objet graphique est présent au sein de la liste d’affichage.

Event.ADDED_TO_STAGE
diffusé lorsqu’un objet graphique est affiché.

Event.REMOVED_FROM_STAGE
diffusé lorsqu’un objet graphique est supprimé de l’affichage.

Ces deux événements sont diffusés automatiquement lorsque le lecteur affiche ou supprime de l’affichage un objet graphique.
package {

import flash.display.MovieClip;
import flash.events.Event;

public class Clip extends MovieClip {

public function Clip() {
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}

private function onAddedToStage(evt:Event):void {
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);

var center_x:Number = stage.stageWidth/2;
var center_y:Number = stage.stageHeight/2;

}
}
}
 

Add comment


Security code
Refresh

Sections


Last articles

Afficher un Plane Papervisio... Automatiser vos META avec le... Lien web dans une applicatio... Erreur de Sécurité Flash Pla... Ouvrir une page Web depuis u... Montage PC : Ventirad COOLER... Lecteur MP3 - SylPlayer... MorfeoShow : Choses à savoir... Component 'Classic Contact F... Accélérer la fermeture de Wi...

Sondages

Do you think HTML5 can completely replace Flash ?
 
Would you be interested in an online XML editor ?
 

Paypal

paypal

Code du plugin Joomla AutoSEO 1.2 par www.geek-space.fr