AS3 - 错误1120:访问未定义的属性阶段

时间:2014-11-16 16:15:21

标签: actionscript-3 stage

我正在尝试将QuickKong类添加到我正在制作的游戏中,如下所述:http://www.kongregate.com/forums/90-kongregate-apis/topics/199155-quickkong-easy-kong-api-integration

要调用该类,请使用:

QuickKong.connectToKong(stage);

然而,它一直在给我:

error 1120: Access of undefined property stage.

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:3)

舞台是DisplayObject的属性。当DisplayObject不在Stage时,其舞台属性为undefined

因此,您需要确保在运行QuickKong.connectToKong(stage);时可以使用舞台。

如果你在文档类的构造函数中执行此操作,它应该可以正常工作。您可能会在其他没有舞台属性的课程中尝试这样做。

如果您在尝试运行此课程的课程扩展了DisplayObject,例如MovieClipSprite,您可以听取它何时添加到舞台然后运行您的QuickKong代码。像这样:

package  {

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

public class Test extends MovieClip {


    public function Test() {
        addEventListener(Event.ADDED_TO_STAGE, onAdded);
    }

    private function onAdded(e:Event):void{
        // now the stage is available
        QuickKong.connectToKong(stage);
    }
}

}

现在,如果由于某种原因你没有在有权访问舞台的类中运行你的QuickKong代码,你应该将对舞台的引用传递给该类的构造函数,如下所示: / p>

var someClass:SomeClass = new SomeClass(stage);

最后,在您的文档类中,您可以创建一个静态变量引用该阶段。像这样:

package  {

import flash.display.MovieClip;

public class Main extends MovieClip {


    public function Main() {
        Main.stage = stage;
    }

}

}

现在,您可以在代码中的任何位置说:Main.stage,当您需要谈论舞台时:

QuickKong.connectToKong(Main.stage);