2008.09.05
03:49
author: taikiken
2件のコメント
Sprite, MovieClipを継承したクラスでstageがnullになりアクセスできない。
Flashコンパイル時に以下のエラーが。
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
ステージにインスタンスを追加したことを確認した後で参照しないといけない様子。
package {
import flash.display.MovieClip;
import flash.events.Event;
public class SomeClass extends MovieClip {
public function SomeClass(){
super();
if (stage) init(null);
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(evt:Event) : void {
if (evt != null)
removeEventListener(Event.ADDED_TO_STAGE, init);
trace (stage.stageWidth);
}
}
} |
package {
import flash.display.MovieClip;
import flash.events.Event;
public class SomeClass extends MovieClip {
public function SomeClass(){
super();
if (stage) init(null);
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(evt:Event) : void {
if (evt != null)
removeEventListener(Event.ADDED_TO_STAGE, init);
trace (stage.stageWidth);
}
}
}
なるほどねって感じだったりするけど、Flashヘルプのstageが使われているサンプルスクリプトもエラーが出てちょっとハマった。