我的项目中有一些不是显示对象的类,但是他们需要知道我的项目的阶段(stage.stageWidth,stage.stageHeight)。
是否有一种简单的方法可以将此信息传递给我的类,而不使用使用Singleton或将这些项作为参数传递给构造函数?
答案 0 :(得分:1)
您可以在类的静态属性中存储对stage的引用,该属性可以从应用程序中的任何类访问。以下是此示例:
GlobalVars.as:
package
{
import flash.display.Stage;
public class GlobalVars
{
public static var stage:Stage;
}// end class
}// end package
Main.as:
package
{
import flash.display.Sprite;
public class Main extends Sprite
{
private var _stageAccessor:StageAccessor;
public function Main():void
{
init();
}// end function
public function init():void
{
GlobalVars.stage = stage;
_stageAccessor = new StageAccessor();
_stageAccessor.traceStageWidth(); // output:
_stageAccessor.traceStageHeight(); // output:
}// end function
}// end class
}// end package
StageAccessor.as:
package
{
import flash.display.Stage;
public class StageAccessor
{
public function StageAccessor():void {};
public function traceStageWidth():void
{
trace(GlobalVars.stage.stageWidth);
}// end function
public function traceStageHeight():void
{
trace(GlobalVars.stage.stageHeight);
}// end function
}// end class
}// end package
答案 1 :(得分:0)
如果您没有对显示的图形对象的引用,则没有单例也无法执行此操作。