- ベストアンサー
AS3でif関数で外部SWFを読み込みたい!
- AS2ではifステートメントを使用して外部SWFを読み込むことができましたが、AS3では同じ方法が機能しなくなってしまいました。
- AS3にはvarsやtraceなどの新しい概念が導入されており、AS2の方法では外部SWFを読み込むことができません。
- 参考書を購入してAS3の条件分岐について調べて試行錯誤したものの、理解が十分に進んでいないため、助けが必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ActionScript 2.0 以下と 3.0 以上とでは 根本的な考え方や捉え方が変わりますよ。 ムービーの構造も違います。 ですから 単純な ActionScript の変換 などでは対処できませんが, 書かれていらっしゃるスクリプトを なるべく忠実に単純に ActionScript 3.0 に変換(?) すると次のような感じになります。 ---------------------------------------------- //FlashVars 内の変数「result」の値を受け取り 変数「res」に代入 var res:String = loaderInfo.parameters.result; //Loaderインスタンス「my_ld」を作成 var my_ld:Loader = new Loader(); //リクエストするファイルのURLを入れる変数を宣言 var my_file:URLRequest; // もし res の値(文字列)が "0" であれば if (res == "0") { //リクエストするファイルのURLを「main.swf」にする my_file = new URLRequest("main.swf"); // もし 変数 res の値(文字列)が "1" であれば } else if (res == "1") { //リクエストするファイルのURLを「1.swf」にする my_file = new URLRequest("1.swf"); } //Loaderインスタンス「my_ld」にファイルをロード my_ld.load(my_file); //Loaderインスタンス「my_ld」をこの階層に配置 this.addChild(my_ld); ---------------------------------------------- なるべく同じになるように変換っぽくはしてますが実際は変換ではありません。 自分の意識で「Loader」なども作成する必要がありますし, FlashVars 内の変数は 特別な入れ物(loaderInfo.parametersオブジェクト)内に入りますから, これも FlashVars であることを意識して そのオブジェクトを明示する必要があります。
その他の回答 (1)
- H240S18B73
- ベストアンサー率65% (190/288)
MovieClipからloadMovieメソッドはなくなりました 外部イメージ読み込みはloaderクラスに移行してます