2010-12-12 8 views
1

Je suis nouveau sur Flash et je ne sais pas pourquoi mon nouvel objet planète est considéré comme NULL lorsque j'essaie de lui affecter des propriétés. Peut-être qu'il me manque une méthode d'initialisation à laquelle je devrais ajouter une nouvelle planète, plutôt que de déclarer mes variables?Pourquoi mon nouvel objet() NULL?

public class main extends Sprite { 
    private var game_container:game_container_mc; 
    private var left,up,right,down:Boolean; 
    var pt:Point = new Point(303,301); 
    var myArray:Array = [pt,pt,pt]; 
    private var plan:planet = new planet(); 

    public function main() { 
     plan.loc.x = 3; 
     plan.loc.y = 3; 
     //...etc, error is here^ 

Erreur: "TypeError: Erreur # 1009:. Impossible d'accéder à une propriété ou une méthode d'une référence d'objet nul à main()"

Vive

+0

loc est un point défini dans la planète comme var loc public: Point; – quantumpotato

+0

Comment est défini loc? – loxxy

+0

Hey, vient d'ajouter le commentaire. loc est défini dans la planète comme public var loc: Point: package { \t import flash.display.Sprite; \t import flash.geom.Point; \t import Math; \t public class planet étend Sprite { \t \t privée var type: int = 0; \t \t private var mass: Nombre; \t \t private var atmosphère: int; \t \t public var loc: Point; – quantumpotato

Répondre

0
package { 
import flash.display.Sprite; 
import flash.geom.Point; 
import Math; 

public class planet extends Sprite { 

      private var kind:int = 0; 
      private var mass:Number; 
      private var atmosphere:int; 
      public var loc:Point; 

Ici vous pouvez voir que loc est nulle & pas initialisés. Alors soit le définir ici lui-même.

public var loc:Point = new Point(); 

Ou plus tard dans la principale fonction:

var locObj:Point = new Point(); 
locObj.x=3; 
locObj.y=3; 
plan.loc=locObj; 
0

Loc est un objet aussi.

public function main() { 
     var Po:Point = new Point(); 
     Po.x=3; 
     Po.y=3; 
     plan.loc=Po; 
+0

Donne du sens maintenant .. chaque objet que je dois déclarer, je dois le renouveler quelque part. Merci! – quantumpotato

+0

@waleed .... Est-ce que Point Po ne devrait pas être déclaré comme var Po: Point? – loxxy

+0

Vous avez raison, je ne suis pas familier avec l'objet flash, mais en général, dans tout langage de programmation, un objet doit être déclaré. –

Questions connexes