rootプロパティの使い方

rootとは表示リストの一番上にある表示オブジェクトを示すプロパティです。メインのタイムラインにMovieClipがあり別のMovieClipのメソッドplay()を実行したい場合、AS2.0のやり方で行くとこんな感じ?

root.ufo.play();

と想いきや上記のようにrootの値をそのまま参照して使うと「未定義の可能性があるメソッドを実行した」といったエラーになります。
エラーにならないようにするには、次のようにrootプロパティの値をいったんMovieClipタイプのオブジェクトに変換します。

var rootObj:MovieClip = mc.root as MovieClip;
rootObj.ufo.play();

rootプロパティをダイナミッククラスであるMovieClipクラスなどに明示的にキャストしてもOK。

MovieClip(root).play();

prarentの場合も考え方は一緒です。

MovieClip(prarent).play();

参考にさせて頂いたページ

Facebook Comments