メイン 迷える子羊の部屋【初心者専用】 ボタンを無効化するためには? | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Digi29 | Åê¹ÆNo.12663 投稿日時: 2004-11-25 10:04 |
新米 居住地: 投稿: 6
使用環境:
Windows XP Professional Flash MX 2004 |
ボタンを無効化するためには? Flash初心者です。
ボタンをMovieClipが再生されている間は無効化したいのですが どうすればいいのかわかりません。 ご教授のほどよろしくお願いします。 まず、1フレームにはNow LoadingのLoding Movieを置いてます。 Loadが終わると、2フレームに移ります。 この2フレームには、MovieClipとボタンを置いており ボタンを押すとMovieClipの範囲の部分が別の画像に切り替わる ようにしております。その別の画像自体は3,4,5,6フレームのような 感じでボタンでそれぞれジャンプできるようになっています。 問題は、2フレーム目にボタンとMovieClipを置いてあるため ボタンを押すとMovieClipから画像に切り替わってしまい 全部のMovieが再生されないうちに画面が切り替わることです。 このMovieClip自体は最後のフレームのところでループしないように this.stop();を入れております。 これをなんとかしてMovieClipの再生が終了後にボタンが動くように したいのですが、できますでしょうか? よろしくお願いします。 |
空野大二郎 | Åê¹ÆNo.12666 投稿日時: 2004-11-25 10:58 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: ボタンを無効化するためには? まいど。
ボタンの名前、個数、記述されたスクリプトが不明なため、直接解答はできません。 なぜなら、こちらで同じ状況を再現できないためです。 それはともかく、表題については「ボタンプロパティ」を変更 することで実現が可能です。
状況に応じて、使い分けてみて下さい。 引用: ボタンを無効化するためには?
|
Digi29 | Åê¹ÆNo.12668 投稿日時: 2004-11-25 13:24 |
新米 居住地: 投稿: 6
使用環境:
Windows XP Professional Flash MX 2004 |
Re: ボタンを無効化するためには? お忙しいところ返信ありがとうございます。
ボタンは6個あってそれぞれb1,b2,b3,b4,b5,b6という インスタンス名をつけています。 ボタンには、 on (rollOver) { _root.gotoAndStop(8); _root.切り替わるインスタンス名.gotoAndPlay(2); } on (rollOut) { _root.gotoAndStop(2); } on (release) { this.getURL("a.html"); } _root.gotoAndStop(8);の部分がボタンによって飛び先の フレームが違います。 2フレームにあるMovieClipはインスタンス名はfirstと つけています。これ自体には何も記述はしておりません。 Scriptレイヤーの2フレーム目にはthis.stop();を入れてます。 まだ作業していないのでわからないのですが //_rootの2フレーム目にフレームアクションを記述 _root.test_btn.enabled = false;//ボタンを無効化する。 //表示したままボタンを無効化するときに使う。 をした場合、確かにMovieClip再生中にボタンは効かなくなりますが 再生後もボタンが効かないままになってしまいます 2フレーム目に入れてあるMovieClipの再生が終わったあとに ボタンを使えるようにするためにはどうしたらよいのでしょうか? MovieClipにスクリプトを記述して再生終了するまでは ボタンを使えなくするというようなScriptを入れればいいのでしょうか? ちなみに2フレーム目に入れてあるMoviClip自体は140フレーム あるMovieでこのMovie自体は140フレーム目に Scriptレイヤー内にthis.stop();を記述してループ再生しないようにしております。 よろしくお願いします。引用:
|
Digi29 | Åê¹ÆNo.12670 投稿日時: 2004-11-25 14:00 |
新米 居住地: 投稿: 6
使用環境:
Windows XP Professional Flash MX 2004 |
Re: ボタンを無効化するためには? 追記です。
もっとわかりやすく言えば2フレームに置いてある MovieClipの140フレームまで再生されないうちは ボタンを無効化するということです。 ボタン自体はシーン1の2フレーム目に置いてます。 わかりにくい説明で申し訳ありません |
空野大二郎 | Åê¹ÆNo.12672 投稿日時: 2004-11-25 14:58 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: ボタンを無効化するためには? まいど。
大変ていねいなご説明、ありがとうございます。 これで、そちらの置かれている状況が把握できました。 そのとおりです。 引用:
ボタンを無効化、有効化する方法が分かったのですから、 どのタイミングで有効にしたいか考える必要があります。 つまり、ムービークリップ"_root.first"が最終フレーム140まで 表示したあとに、ボタンを有効にしたい、それ以前は無効にしたい という結論に達しましたね。 引用:
まず、コメントを使って日本語でスクリプトを記述してみます。 注目していただきたいのは、どのイベントでボタンを切り替えるかです。
あとは、"buttonOnOff()"関数の中に、制御したいボタンの処理を 記述するだけです。
最後に、抱える問題があって、それを解くカギが用意されたのですから、 答えを聞く前にためしてみることをオススメします。 どんなタイミングで何を実行すればよいか、試行錯誤することが、 初心者卒業のかてになるでしょう。 何事も経験です。 引用:
|
Digi29 | Åê¹ÆNo.12674 投稿日時: 2004-11-25 15:41 |
新米 居住地: 投稿: 6
使用環境:
Windows XP Professional Flash MX 2004 |
Re: ボタンを無効化するためには? 返信ありがとうございます。
これからは答えを聞く前に作業をするようにいたします。 さっそく、上記のスクリプトを入れて作業をしたところ 確かにMovieClipの140フレームまで再生が終わった後、 ボタンが動きました。しかし、2回目のロールオーバーで ボタンが無反応になりました。このMovieClipはスプラッシュ ムービーみたいなもので、フレームの一番最後の部分はサイトの タイトル画像みたいなものに変わるのでロールオーバーした後は 常にこの画面が出ている状態にしたいです。 試しに自分で140フレーム目に _parent.buttonOnOff(true); gotoAndPlay(140); このような感じにしましたがこれだとMovieがループを してしまいます。 _parent.buttonOnOff(true); gotoAndStop(140); これだと2回目以降のロールオーバーが無反応になります。 ちなみにシーン1の2フレーム目には this.buttonOnOff = function(bButton) { if (bButton == true) { //それぞれのボタンを有効化 this.b1.enabled = true; //b1を有効にする //b2につづく } else { //それぞれのボタンを無効化 this.b1.enabled = false; //b1を無効にする //b2につづく } }; this.buttonOnOff(false); this.stop(); このように入れております。 b1のボタンには on (rollOver) { _root.gotoAndStop(3); _root.切り替えるインスタンス名.gotoAndPlay(2); } on (rollOut) { _root.gotoAndStop(2); } on (release) { this.getURL("individual/index.html"); } もしかしたら2フレーム目に戻るのがおかしいのかなと 考えております。どうしたらよろしいでしょうか? よろしくお願いします。 |
Digi29 | Åê¹ÆNo.12675 投稿日時: 2004-11-25 16:07 |
新米 居住地: 投稿: 6
使用環境:
Windows XP Professional Flash MX 2004 |
Re: ボタンを無効化するためには? 問題の自己解決ができました!
ありがとうございます さきほどの問題については MovieClipの139フレーム目に _parent.buttonOnOff(true); 140フレーム目に _parent.buttonOnOff(true); gotoAndPlay(139); これを入れて139と140フレーム目をループさせる方法で 解決しました。もちろん、139フレーム目と140フレーム目は まったく同じ状態なので見た目的には変化はありません。 お忙しい中ありがとうござました |
空野大二郎 | Åê¹ÆNo.12676 投稿日時: 2004-11-25 16:21 |
職人 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMX IE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: ボタンを無効化するためには? まいど。
おっと、解決されてしまいましたね。 おめでとうございます。 では、後日談としてお読み下さい。 失礼しました。お察しの通りです。 ボタンのロールアウト実行時に _root.gotoAndStop(2); が実行されて、_rootのフレームスクリプトが再び実行されている、 this.buttonOnOff(false); ボタンを無効化する仕組みになってしまいました。 引用: Digi29さんは書きました: 1:簡潔な処法は、画像の表示されているフレームを一つずつずらし、 ロールアウトで戻ってくるときは"_root.gotoAndStop(3);"になるように して、2フレーム目に戻らないようにすることです。 (もちろん、ボタンのgotoAndStop()の指定フレームは修正が必要に なります。) 2:あとは、いっそ"_root.first"が再生されたタイミングで "_root.buttonOnOff(false)"を実行すると、最初だけボタンを無効化 できます。 上記の修正が成功すれば、"_root.first"の140フレーム目の フレームスクリプトは、ボタンを有効にしてthis.stop()で結構です。
ここでも解決できましたか! 引用: Digi29さんは書きました: 今回のように、1度だけ実行したいスクリプトを、"gotoAndStop()" などで何度も実行してしまうのは、わたしが良くしてしまいがちなミスです。 お騒がせしました。
|
Digi29 | Åê¹ÆNo.12677 投稿日時: 2004-11-25 16:39 |
新米 居住地: 投稿: 6
使用環境:
Windows XP Professional Flash MX 2004 |
Re: ボタンを無効化するためには? soranoさん
どうもありがとうございました。 後日談に書かれていることも後ほどチャレンジしたいと 思っております。本当に助かりました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |