- ベストアンサー
【ActionScript】createEmptyMovieClipの寸法を変えたい
FLASH8(Win-XP)使用者です。 createEmptyMovieClipで生成したMCに外部画像を読み込む場合、その画像の寸法を変える場合どうしたらいいでしょうか? (attachMovie以外でお願いいたします。) _root.obj.createEmptyMovieClip("mc", 0); _root.obj.mc.loadMovie("aaa.swf"); _root.obj.mc._width = 100; ですと読み込んだ画像は消えてしまいます。 お詳しい方、よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
例えローカルであっても外部ファイルの読み込みには時間差が生じるので、 そのような記述で寸法を変更しても、_widthが0のものを100にしているだけだったりします 表示が出来なくなるのはそこが原因です なので、外部ファイルが読み込み終わり、そのmcのプロパティにアクセスできるようになってから寸法を指定する必要があります 書き出しのFlashPlayerが7以降であれば、 MovieClipLoaderクラスが便利です 質問の際に記述された内容を変更するとすれば下記のような感じです _root.obj.createEmptyMovieClip("mc", 0); var mclListener = new Object(); mclListener.onLoadInit = function(targetMC) { //読み込み終わったら実行する内容 targetMC._width = 100; }; var mcLoader = new MovieClipLoader(); mcLoader.addListener(mclListener); mcLoader.loadClip("aaa.swf", _root.obj.mc); //ここで指定した第二引数(=_root.obj.mc)が前途onLoadInitのfunction引数(=targetMC)となる FlashPlayer7以前の場合はonEnterFrame等でobj.mcの_widthを監視し、 0じゃなくなったら変更して終了、のような内容にするのもひとつの方法です
お礼
なるほど! 時間差のことはすっかり忘れていました。 とても勉強になりました。 ありがとうございます。