メイン 迷える子羊の部屋【初心者専用】
外部SWFからMC内のラベルを再生する | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| yoine | Åê¹ÆNo.42921 投稿日時: 2009-7-13 19:24 |
新米 ![]() ![]() 居住地: 投稿: 16
使用環境:
WinVista(XPも使用)、Flash CS4、 ActionScript3.0 |
外部SWFからMC内のラベルを再生する いつも覗かせていただいています。
例えば、「main.swf」と「page.swf」があり、 更に「page.swf」の中に「_mc」があり、 その_mcは「test1」「test2」「test3」のラベルを持っているとします。 main.swfから、page.swfのtest2ラベルを再生したいのですが、 やり方がいまいちわかりません。 今まではメインのタイムライン上にラベル名を書いていたのですが、 負荷が高くなるため、それに対する処理を施すために中身を全て書き換えようとしています。 図式 ----------------------------------- 【main.swf】 ↓クリック 【page.swf(_mc → test2)】 ----------------------------------- 以下、スクリプトです。 ※メインタイムラインに記載していたときのものです。 _btn.addEventListener(MouseEvent.CLICK,clickHandler,false,0,true); var loader:Loader = new Loader(); var url:String="page.swf"; var request:URLRequest=new URLRequest(url); loader.load(request); function clickHandler(event:MouseEvent):void { //page2LoadNextをステージに配置する addChild(loader); MovieClip(loader.content).gotoAndPlay("test2"); } MovieClip(loader.content).gotoAndPlay("test2"); の部分に何か追記すればよいのかとにらんではいるのですが、 「見つかりません」とエラーが返されてしまいます。。 お手数をおかけしますが、よい方法をご教授下さい。 よろしくお願いします。 |
| ひろゆき | Åê¹ÆNo.42922 投稿日時: 2009-7-13 20:26 |
ちょんまげら ![]() ![]() 居住地: 大阪密林 投稿: 3702
使用環境:
10.3.9/10.6.2 CS3/CS4 ProFlex 2/3 SDK Pro8.0 Pro7.2FlashPlayer 7.0r24/8.0r24/9.0r115/10.0r45 Safari 1.3.2/4.0.4 Firefox 2.0.0.20/3.5.7 MacOS 9.2.2 Flash 4/5 |
Re: 外部SWFからMC内のラベルを再生する
|
| yoine | Åê¹ÆNo.42933 投稿日時: 2009-7-14 14:05 |
新米 ![]() ![]() 居住地: 投稿: 16
使用環境:
WinVista(XPも使用)、Flash CS4、 ActionScript3.0 |
Re: 外部SWFからMC内のラベルを再生する ご解答ありがとうございます。
記載いただいた通りにやってみましたが、 「ArgumentError: Error #2108: シーン test2 が見つかりません。」 とエラーを返されてしまいました。。 記載いただいたソースはどう解釈すればよいでしょうか? 「読み込みが完了して、_btnがクリックされたらtest2を再生する」と似たようなものなのかな、と考えてはみたのですが、いまいち自信が持てません。 お時間がありましたら、後学のために軽くご説明頂けるととてもありがたいです。 |
| ひろゆき | Åê¹ÆNo.42934 投稿日時: 2009-7-14 14:26 |
ちょんまげら ![]() ![]() 居住地: 大阪密林 投稿: 3702
使用環境:
10.3.9/10.6.2 CS3/CS4 ProFlex 2/3 SDK Pro8.0 Pro7.2FlashPlayer 7.0r24/8.0r24/9.0r115/10.0r45 Safari 1.3.2/4.0.4 Firefox 2.0.0.20/3.5.7 MacOS 9.2.2 Flash 4/5 |
Re: 外部SWFからMC内のラベルを再生する "test2"が存在しているフレームまで読み込みが完了していないのに、 そこにアクセスしようとしても、無理では?
|
| yoine | Åê¹ÆNo.42935 投稿日時: 2009-7-14 14:55 |
新米 ![]() ![]() 居住地: 投稿: 16
使用環境:
WinVista(XPも使用)、Flash CS4、 ActionScript3.0 |
Re: 外部SWFからMC内のラベルを再生する >"test2"が存在しているフレームまで読み込みが完了していないのに、 >そこにアクセスしようとしても、無理では? なるほど・・・だからイベントリスナーでCOMPLETEを設定するのですね。解りました! 今度のソースでは先述のエラーは出ませんでしたが、今度は「1061:未定義である可能性のあるメソッド gotoAndPlay を、静的型 flash.display:DisplayObject の参照を使用して 呼び出しました。」とのエラーが返されました。 未定義である、ということはloader.content.gotoAndPlay("test2"); の前で型変換をすればよいのでしょうか。。 |
| ひろゆき | Åê¹ÆNo.42936 投稿日時: 2009-7-14 15:29 |
ちょんまげら ![]() ![]() 居住地: 大阪密林 投稿: 3702
使用環境:
10.3.9/10.6.2 CS3/CS4 ProFlex 2/3 SDK Pro8.0 Pro7.2FlashPlayer 7.0r24/8.0r24/9.0r115/10.0r45 Safari 1.3.2/4.0.4 Firefox 2.0.0.20/3.5.7 MacOS 9.2.2 Flash 4/5 |
Re: 外部SWFからMC内のラベルを再生する
|
| yoine | Åê¹ÆNo.42937 投稿日時: 2009-7-14 15:35 |
新米 ![]() ![]() 居住地: 投稿: 16
使用環境:
WinVista(XPも使用)、Flash CS4、 ActionScript3.0 |
Re: 外部SWFからMC内のラベルを再生する ありがとうございます!
このソースで無事できました! |
| joyko | Åê¹ÆNo.42938 投稿日時: 2009-7-14 17:14 |
常連 ![]() ![]() 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3Flash CS4 |
Re: 外部SWFからMC内のラベルを再生する yoineさん、ひろゆきさん、皆さん、
今日は。 私も、AS3.0勉強中ですが、以下のテストをしてみました。 【現状:】以下に3つの方法で試しましたが、 全て、page.swfのラベル test2に、移動して停止するので、結果は、OKなのですが・・・ 【疑問:】方法−1の場合、MovieClipクラスのメソッドを使うのに、キャストなしでも行けてしまうのですが、 これは、何故なのか、理解できてません。 2とひろゆきさんご提示の3は、納得出来るのですが、1がOKな理屈が分からないので、どなたか、教えて頂けると、助かります。 AS3.0の理屈を覚えるのは、なかなか、難しいですが、一つ一つ、覚えて行きますので、教えて頂きたいと思います。 |
| ひろゆき | Åê¹ÆNo.42939 投稿日時: 2009-7-14 17:26 |
ちょんまげら ![]() ![]() 居住地: 大阪密林 投稿: 3702
使用環境:
10.3.9/10.6.2 CS3/CS4 ProFlex 2/3 SDK Pro8.0 Pro7.2FlashPlayer 7.0r24/8.0r24/9.0r115/10.0r45 Safari 1.3.2/4.0.4 Firefox 2.0.0.20/3.5.7 MacOS 9.2.2 Flash 4/5 |
Re: 外部SWFからMC内のラベルを再生する event.target.content は、DisplayObjectとして返ってきます。
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/LoaderInfo.html#content loader.content でも、同じです。 http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/Loader.html#content したがって、MovieClipにキャストせず、DisplayObject のままでは、 MovieClip のメソッドである gotoAndPlay が使えない。 ということではないでしょうか。 しかし、event.target.content._mc は、MovieClip として返されるのではないでしょうか? ということで、次のようになるでしょうか。 もし、page.swf 上に、"test"ラベルがあるならば、 もし、page.swf 上の _mc (MovieClip) に、"test"ラベルがあるならば、 機種依存文字の使用は控えましょう。
|
| joyko | Åê¹ÆNo.42940 投稿日時: 2009-7-14 18:02 |
常連 ![]() ![]() 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3Flash CS4 |
Re: 外部SWFからMC内のラベルを再生する ひろゆきさん、
返信、ありがとうございました! trace(event.target.content._mc);//[object _mc_1]と表示 trace(loader.content._mc);//エラーと表示 となりました。 同じ(じゃなさそう?)、DisplayObjectをドット演算子でつないでも、こうなるのですね。 event.target.contentは、例のdynamicで、loader.contentは、staticということなのかな?分からないですね。 尚、機種依存文字使用は、つい、筆が滑りましたので、訂正しておきました。 |
| (1) 2 » | |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン




10.3.9/10.6.2
CS3/CS4 Pro
Pro8.0
Pro7.2


WinXP(SP3)