BONKURA BLOG

仕事のメモ帳ブログ。いまのところActionScriptメイン。たまにCSSとかJavaScriptとか。

[AS3.0]DisplayObject.parent

ActionScript2.0で使っていた_parentの振る舞いもActionScript3.0では少し異なります。

たとえばメインタイムラインにムービークリップを設置し、内部に次のようなスクリプトを記述したとします。

parent.stop();

プレビューするとエラーが表示されます。
メインタイムラインはムービークリップなのに何故でしょう??

これは、ActionScriptではparentプロパティが表示オブジェクト(DisplayObject)としてのみ理解されるからです。実際にはメインのタイムライン(=ムービークリップ) であっても、Flashにはそれが理解できず、もっと大まかなくくりの表示オブジェクトとして扱われるのです。

ですから、表示オブジェクトの共通メソッドではないstop()は不明なメソッドとなってしまします。
回避するにはparentがムービークリップであるということをFlashに知らせる必要があります。

■型変換
MovieClip(parent).stop();
■as演算子
var mc:MovieClip = parent as MovieClip;
mc.stop();
このエントリーをはてなブックマークに追加 Save This Page to del.icio.us