スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

AS3.0 子swf 親swf 参照方法

#追記
▼親から子を呼び出す場合の説明はここが一番分かりやすかったので追記。
http://myactionscript3.blog51.fc2.com/


最近AS3.0もぼちぼち慣れてきて、
外部swfを呼び出す機会も増えてきたが
毎回いまいち子と親間の参照の意味が分からない。。

いいページがあったので、無くなると困るので
ペーストさせてもらっておきます。

▼ネタ元はここ
http://claptaps.jp/blog/2009/10/


AS3.0で親のSWFから子のSWF、もしくは子のSWFから
親のSWFへの参照の方法をメモ。
親SWFをmc_a、子SWFをmc_bとして...

親SWF(mc_a.swf)
view sourceprint?
var loader:Loader = new Loader();
var url:String = "mc_b.swf";
var url_request:URLRequest = new URLRequest(url);
function complete_handler(event:Event):void {
addChild(loader);
var mc_b:MovieClip = MovieClip(loader.content);
mc_b.bar();
}

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete_handler);

loader.load(url_request);



function foo():void {

trace("親の関数です。");

}

子SWF(mc_b)
view sourceprint?
function complete_handler(event:Event):void {

var mc_a:MovieClip = MovieClip(loaderInfo.loader.parent);

mc_a.foo();

}

loaderInfo.addEventListener(Event.COMPLETE, complete_handler);



function bar():void {

trace("子の関数です。");

}



親から子の場合
MovieClip(loader.content).gotoAndStop(2);

子から親の場合
MovieClip(loaderInfo.loader.root).gotoAndStop(2);

みたいにキャストする。

ちなみに、ローディングする流れは、
1. loaderオブジェクトを作る。
2. URLRequestオブジェクトを作る。
3. loader.load(url_request);で読み込み。
  この時、ローディングの情報は

  loader.contentLoaderInfo.addEventListener
 (Event.COMPLETE, hoge);

  みたいにloader.contentLoaderInfoプロパティで情報を取得。
  余談だが、トップのローディングの場合は
  MovieClip(root).loaderInfo.bytesLoaded;でやる。




スポンサーサイト

コメントの投稿

非公開コメント

ワンコウォッチ
プロフィール

AGOSO

Author:AGOSO
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
ワンコウォッチ[ベリー・レッド]
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。