2014-01-29 2 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

Ваш класс Puzzle не знает, был ли Engine.UseBox уже инициализирован или нет. Поскольку конфигурация двигателя загружается асинхронно, весьма вероятно, что экземпляр Puzzle загружается до функции ConfigLoaded Engine. – axelduch

ответ

0

Похоже, ваш вопрос в том, что Engine.UseBox; заглавная, поэтому код думает ваш говорить о классе UseBox, а не экземпляр Engine.useBox;

Смежные вопросы