我有一个Main实例,我应该可以在任何地方访问。 如果我想在级别上访问变量,我应该能够:
_root.level.my_value
但是,当我在地图中调用_root.level时,.level显示为null。
Main.as(班级文件)
package{
import flash.display.MovieClip;
public class Main extends MovieClip{
//Monostate
private static var _instance:Main;
public static function get instance():Main { return _instance; }
public var level:MovieClip;
public function Main(){
_instance = this; //Monostate
this.level = new Level();
}
}} //package / class
Level.as
package{
import flash.display.MovieClip;
public class Map extends MovieClip{
private var _root:MovieClip;
public function Map(){
_root = Main.instance
trace(_root);
trace(_root.level); //This should not be null
}
}} //package / class
答案 0 :(得分:0)
您永远不会实例化_instance
,因此level
永远不会被设置。
你的静态吸气器应该更像是这样的东西:
public static get instance():Main {
if(!_instance){
_instance = new Main();
}
return _instance;
}