呼び出されたステージへの変更を管理するシングルトン クラスを作成し、ステージStageManager
への参照を渡して初期化します。
//StageManager.as
import flash.display.Stage;
public class StageManager()
{
//publicly accessible singleton instance
public static var instance:StageManager = new StageManager();
private var m_stage:Stage;
//I'm using a custom getter and setter in just in case you need perform some other
//initialization when the stage gets set...
public function set stage(stg:Stage):void
{
m_stage = stg;
}
public function get stage():Stage
{
return m_stage;
}
}
次に、メインコントローラークラスのような別の場所:
StageManager.instance.stage = this.stage;
これで、ステージとそのプロパティにグローバルにアクセスできるようになりましたStageManager
:
var stageW:int = StageManager.instance.stage.stageWidth;
このようにして、Pan クラスだけでなく、将来的に必要なときにいつでもグローバル ステージにアクセスできます。かっこいいでしょ?
Pan クラスの設計方法については、 @The_asMan - extends に同意しますMovieClip
。つまり、1 つのPan
インスタンスが複数のインスタンスを制御するMovieClip
場合を除き、それを独自のものとして持つ方がおそらく理にかなっています (上記の方法で)。