メイン コーダーズルーム【スクリプト系】 外部JPG読み込みMCをボタンとして扱う場合のアクション | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
joyko | Åê¹ÆNo.38625 投稿日時: 2008-5-1 0:24 |
常連 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3 Flash CS4 |
外部JPG読み込みMCをボタンとして扱う場合のアクション 皆さん、
今晩は。 いつもお世話になってます。 先ず、宜しければ、質問になる単純化したサンプルをご覧になって頂きたいと思います。CS3を使用し、AS2.0で、Professional8で保存してます。 http://homepage2.nifty.com/joys/questions/mcbtn_for/frame_clip.html 質問内容は、 1)外部JPGを、MovieClip.loadMovie();で読み込み、それを、ボタンとして扱う場合、シーン上のフレームアクションとMovieClipに直接記載する、クリップアクションの間に差が出てしまっているので、その差に関してのものです。その差とは、フレームアクションですと、ボタンとして、反応せず、クリップアクションですと、ボタンとして反応します。 2)サンプルは、シーンの第一フレームのスクリプトレイヤーに、 this.stop();//念のため screen._xscale = screen._yscale=60;//外部jpgを60%の縮小率で読み込む(今回は、どうでもいい部分です) /*mc1からmc4まで、外部JPGを、12%に縮小読み込み*/ for (i:Number=1; i<=4; i++) { _root["mc"+i]._xscale=_root["mc"+i]._yscale=12; _root["mc"+i].loadMovie("photo/"+i+".jpg"); } /*mc1とmc3は、MovieClipに直接クリップアクションで記載し、MovieClipボタンとして、正常反応するが、 以下のフレームアクションで記載した、mc2とmc4は、ボタンとして、反応しないのは、なぜでしょうか?*/ mc2.onRelease = function():Void { screen.loadMovie("photo/2.jpg"); }; mc4.onRelease = function():Void { screen.loadMovie("photo/4.jpg"); }; //外部写真を読み込んでない、このmc5は、ボタンとして、反応します。 mc5.onRelease = function():Void { screen.unloadMovie(); }; と記載し、 mc1とmc3には、直接クリップアクションで、 ■mc1には、 on(release){ _root.screen.loadMovie("photo/1.jpg"); } ■mc3には、 on (release) { this._parent.screen.loadMovie("photo/3.jpg"); } としてます。 クリップアクションで、記載すれば、支障はないのですが、シーンのフレームに出来るだけ記載したいので、理由が分からず、質問させて頂いた次第です。 お教え頂けると、すっきり致します。 |
野中文雄 | Åê¹ÆNo.38626 投稿日時: 2008-5-1 0:32 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 外部ファイルのロードが完了するのを待って、イベントハンドラメソッドは設定しなければなりません。Flash 8でしたら、MovieClipLoaderクラスを使うのが便利でしょう。
「MovieClip.loadMovieで外部ファイルを読込む」より引用: 外部ファイルをMovieClip.loadMovieメソッドで読込むと、ターゲットインスタンスにスクリプトで設定したプロパティやメソッドなどはすべてクリアされます。これは、プロパティやメソッドをMovieClip.loadMovieメソッドの実行前に定義した場合ばかりでなく、実行直後に設定した場合も同じです。 引用: joykoさんは書きました: |
joyko | Åê¹ÆNo.38627 投稿日時: 2008-5-1 0:41 |
常連 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3 Flash CS4 |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 野中さん、
早速の返信ありがとうございます! なるほど、MovieClip.Loaderクラスですか? しかし、クリップアクションだと、OKなのが、まだ、解せないのですが、仕様ということなのでしょうか? |
野中文雄 | Åê¹ÆNo.38628 投稿日時: 2008-5-1 0:47 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション
|
ひろゆき | Åê¹ÆNo.38629 投稿日時: 2008-5-1 1:02 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 引用:
joykoさんは書きました: 細かいことですが「MovieClipLoader」クラスです。
|
joyko | Åê¹ÆNo.38630 投稿日時: 2008-5-1 1:51 |
常連 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3 Flash CS4 |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 野中さん、ひろゆきさん、
再度、今晩は。 早速、MovieClipLoaderクラスを使ってみました。縮小写真は読み込まれ、"読み込み完了!"メッセージも表示されますが、やはり、mc2とmc4は、ボタンとして反応してくれません。 クリップアクションではOKで、フレームアクションは、効果なしという仕様ということで、一応、納得しました。 this.stop();//念のため screen._xscale = screen._yscale=60;//外部jpgを60%の縮小率で読み込む(今回は、どうでもいい部分です) /*?追記分:MovieClipLoaderクラスの設置、ここから?*/ _mcl = new MovieClipLoader(); mcListener = new Object(); _mcl.addListener(mcListener); mcListener.onLoadComplete=function():Void{ moji_txt.text="読み込み完了!"; } /*mc1からmc4まで、外部jJPGを、12%に縮小読み込み*/ for (i:Number=1; i<=4; i++) { _root["mc"+i]._xscale = _root["mc"+i]._yscale=12; _mcl.loadClip("photo/"+i+".jpg",this["mc"+i]);//縮小イメージで、4枚とも、読み込みは、終了しますが、やはり、mc2とmc4はボタンとして、反応しません。 } /*?ここまで?*/ /*mc1とmc3は、MovieClipに直接クリップアクションで記載し、MovieClipボタンとして、正常反応します*/ mc2.onRelease = function():Void { screen.loadMovie("photo/2.jpg");//ここは、ボタンの反応とは、関係ないと思いますが・・・ }; mc4.onRelease = function():Void { screen.loadMovie("photo/4.jpg"); }; //外部写真を読み込んでない、このmc5は、ボタンとして、反応します。 mc5.onRelease = function():Void { screen.unloadMovie(); moji_txt.text=""; }; |
ひろゆき | Åê¹ÆNo.38631 投稿日時: 2008-5-1 2:18 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 引用:
早速、MovieClipLoaderクラスを使ってみました。縮小写真は読み込まれ、"読み込み完了!"メッセージも表示されますが、やはり、mc2とmc4は、ボタンとして反応してくれません。 野中さんは、次のように書かれていますが。 引用: 外部ファイルのロードが完了するのを待って、イベントハンドラメソッドは設定しなければなりません。 引用: クリップアクションではOKで、フレームアクションは、効果なしという仕様ということで、一応、納得しました。 したがって、この認識は間違っていると思います。
外部画像を読み込むムービークリップに、直接 onRelease を定義するのではなく、 「外部ファイルの画像を並べるには?」 のようにしてしまった方が面倒ではないようにも思いますが。
|
野中文雄 | Åê¹ÆNo.38632 投稿日時: 2008-5-1 2:27 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション まず2点、問題が見受けられます。第1に、「読み込み完了」の後にイベントハンドラメソッドが設定されていますか?
引用: 早速、MovieClipLoaderクラスを使ってみました。縮小写真は読み込まれ、"読み込み完了!"メッセージも表示されますが、やはり、mc2とmc4は、ボタンとして反応してくれません。 第2に、MovieClipLoader.onLoadCompleteイベントは、ロードしたインスタンスに対するプロパティやメソッドの設定には適しません(前の回答に引用したノートはお読みになりましたか?)。 さらにもうひとつつけ加えておくべきことは、4つのファイルをロードすれば、イベントは4回発生します。ですから、ロードの済んだインスタンスごとに、適切な設定を行う必要があります。 |
ひろゆき | Åê¹ÆNo.38634 投稿日時: 2008-5-1 2:48 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 参考になりそうなスレッドをいくつか。
「MovieClip.loadMovie 後の挙動について」 「MCを順々にロードすることができません」 そのほか「loadMovie クリア」でフォーラム内を検索してみましょう。 #「すべて表示」で、たくさん表示されます。
|
joyko | Åê¹ÆNo.38637 投稿日時: 2008-5-1 7:04 |
常連 居住地: 埼玉県 投稿: 167
使用環境:
WinXP(SP3) Flash8 Basic FlashCS3 Flash CS4 |
Re: 外部JPG読み込みMCをボタンとして扱う場合のアクション 野中さん、ひろゆきさん、
おはようございます。 再三のご指摘、ありがとうございます。 勝手な誤解のまま、行くところでした!危なかったです! もう一度、一からやり直してみます。 PS:考えれば、私の認識ですと、AS3.0では、大問題になるはずですから、そこも、少し、考慮すれば、ありえない話ですので、考慮が足りなかったです。反省しました。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |