2014-01-29 64 views
1

我得到了错误1119,我不明白为什么。它让我疯狂 !不明白的错误1119

我有一个名为 “useBox” 影片剪辑被称为在我Engine.as

package com.laserdragonuniversity.alpaca { 
    public class Engine extends MovieClip{ 
      public static var toolbar:Toolbar; 
      public static var useBox:UseBox; 

    public function Engine(){ 

    private function configLoaded(e:Event):void{ 
    useBox = new UseBox(stage, usableItems[0]); 

    private function examine(e:MouseEvent):void{ 
        stage.dispatchEvent(new Event("itemClicked")); 
         useBox = new UseBox(stage, e.currentTarget); 
         useBox.x = mouseX; 
         useBox.y = mouseY; 
         stage.addChild(useBox); 
        } 

我有一个UseBox类:

UseBox.as:

package com.laserdragonuniversity.alpaca { 
public class UseBox extends MovieClip{ 
public function UseBox(stageRef:Stage, thisThing:Object){ 
      this.stageRef = stageRef; 
      this.thisThing = thisThing; 
      toolbar = Engine.toolbar; 
      batiments = Engine.batiments; 

      this.visible = true; 
      useButton.visible = false; 
      useButton2.visible = false; 
} 

而在Puzzle.as类中,我试图使useButton可见。

package com.laserdragonuniversity.alpaca { 
public class Puzzle extends MovieClip{ 
private var toolbar:Toolbar; 
     private var useBox:UseBox; 

public function Puzzle(stageRef:Stage){ 
      useBox = Engine.UseBox; 

public function clickEmplacement2(event:MouseEvent):void { 
useBox.useButton2.visible = true; 
} 

但我得到了错误1119:访问可能未定义的属性UseBox通过静态类型的引用类。 (对于“useBox = Engine.UseBox”行)

你知道为什么吗?

非常感谢您

+1

为什么'Engine'的属性静态的?他们不应该。 – poke

+2

您的益智类不知道Engine.UseBox是否已被初始化。由于Engine配置是异步加载的,Puzzle实例很可能在Engine的configLoaded函数之前加载。 – axelduch

回答

0

它看起来像你的问题是,Engine.UseBox;是大写的,所以代码认为你在谈论类UseBox,而不是实例Engine.useBox;