タイムラインに子が含まれているswfファイルを埋め込んでいます。このような:
[Embed(source="assets/skyscraper200x600.swf")]
private var Skyscraper :Class;
swfのすべての子にはインスタンス名があります。FlashCS5でswfを作成するときに、それを再確認しました。私はこれらの子供たちに次のような名前でアクセスしようとしています:
_bg = MovieClip(new Skyscraper());
_pig = MovieClip(_bg.getChildByName("chara_pig"));
_arrow = MovieClip(_bg.getChildByName("arrow_banner"));
ただし、_pigと_arrowはどちらもnullになります。
さらに奇妙なのは、デバッガーでSkyscraperオブジェクトを見ると、かなり奇妙なクラス名と、その唯一の子(子がない)としてローダーが表示されていることです。これはどうしたの?
。
swfを埋め込まない場合は、上記のようにアクセスできますが、ローダーを使用してロードします。しかし、この場合はできません。swfを埋め込む必要があります。
では、どのようにして埋め込みswfsの子にアクセスできますか?
埋め込まれたswfのライブラリ内のクラスにアクセスすることについて話しているのではなく、タイムライン上のインスタンスについて話しているのです。