• ベストアンサー

ActionScriptに関しての質問

ActionScriptに関しての質問です。 ボタンがありまして、Enterキーをクリックするとクリックする一瞬ボタンの色が緑から赤に変化します。 同時に次のページへ移動する仕組みです。 困ったこと:Enterキーをクリックしたときのボタン色の変化。 よろしくお願いします。

  • Flash
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.3

なぜかしばらく非表示でした.../(-_-)ヽ #1です。 #1の補足で書かれていらっしゃるようなことはボタンではできません。 できませんが,なるべく元を変えずに,近いことをするには, まずボタンにインスタンス名を付けます。 たとえば「newpage_btn」というインスタンス名を付けます。 そしてスクリプトを次のようにします↓。 ------------------------- on (release) { _global.soundBtn.start(); _root.gotoAndStop("newpage"); } on (keyPress "<Enter>") { _global.soundBtn.start(); // ↓ボタンnewpage_btnにフォーカスを与える Selection.setFocus("newpage_btn"); _root.gotoAndStop("newpage"); } ------------------------- しかし,↑こういうことではありませんよね(多分)? #2の方が書かれていらっしゃるように, ムービークリップ(MC)でボタンを自作する必要があると思います。 仮にムービークリップ内に置く画像の,   フレーム1 の色を緑   フレーム2 の色を赤   フレーム3 の色を青 とします(何でも良いですが)。 そのMC"自体"に書くスクリプト例↓。 ------------------------- // このMCが表示された時 onClipEvent (load) { // このMC内の再生を停止 this.stop(); } // 何かキーが押された時 onClipEvent (keyDown) { // もしそのキーがEnterであれば if (Key.getCode() == 13) { // このMC内をフレーム3で停止 this.gotoAndStop(3); } } // 何かキーが放された時 onClipEvent (keyUp) { // このMC内をフレーム1で停止 this.gotoAndStop(1); // もしそのキーがEnterであれば if (Key.getCode() == 13) { _global.soundBtn.start(); _root.gotoAndStop("newpage"); } } // このMCにロールオーバーした時 on (rollOver) { // このMC内をフレーム2で停止 this.gotoAndStop(2); } // このMCを外で放したりロールアウトした時 on (releaseOutside, rollOut) { // このMC内をフレーム1で停止 this.gotoAndStop(1); } // このMCを押した時 on (press) { // このMC内をフレーム3で停止 this.gotoAndStop(3); } // このMCをクリックした時 on (release) { // このMC内をフレーム1で停止 this.gotoAndStop(1); _global.soundBtn.start(); _root.gotoAndStop("newpage"); } ------------------------- ※ Flash MX (Flash Player 6) 以上   ActionScript 1.0 (設定は 2.0 でもOK) なお,次のページにあるように, MC内に「_up」「_over」「_down」というフレームラベルを付けておくとスクリプトはもっと簡略化できます↓。 「ムービークリップのボタン化」 http://homepage3.nifty.com/ginga-b/MX/btnmc.html スクリプトは簡略化はできますが, 結局考える方向性はほとんど同じです(むしろややこしいかも)。

karisuma79
質問者

お礼

BlurFiltan様 お礼言うのが遅くなりまして、すみません。 詳細な回答、本当に助かりました。 ありがとうございました。

その他の回答 (2)

  • joy_28
  • ベストアンサー率84% (45/53)
回答No.2

karisuma79さん、 上のBlurFiltanさんのことですから、丁寧で、的確な回答をされていると思いますが、以下のようにも、出来ます。簡単なAS2.0で記載してます。参考までに。 前提: 1)ENTERキークリックというのは、PCのENTERキーをクリックとは言わないので、PCのENTERキーを押すという意味と解釈しました。 2)2フレームから構成されるMovieClipで、ボタンを作成し、シンボル編集画面内で、第一フレームの色を緑、第二フレームの色を、赤とし、第一フレームのscriptレイヤーに、this.stop(); と記載しておきます。シーンに配置し、インスタンス名を、btnとします。 3)シーンの第一フレームのscriptレイヤーに、以下を記載します。 //ここから this.onEnterFrame = function():Void { if (Key.isDown(Key.ENTER)) { btn.nextFrame();//btnの第二フレームに移動して、赤表示 //次のページの意味を、別のURLと解釈しました。 getURL("http://google.com/", "_blank"); //nextFrame();SWF内の第二フレームへの移動なら、こうします。 this.onEnterFrame = null;//不要なので、無効とする } else { trace("ENTERキープレス待ち");//待ち状態 } }; //ここまで

karisuma79
質問者

お礼

joy_28様お礼が遅くなりましてすみません。 良い参考になりました。ありがとうございました。

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

いったい何が疑問(困ったこと)かわかりませんが......。 普通に色が変わるボタンを作れば良いだけではないでしょうか? 「はじめてのflash 《#3》 ボタンを作ろう(1)」 http://mag.digicon6.com/flash/2009/06/flash-flash-tip.html 「ボタンを理解しよう!」 http://1art.jp/flash/le/lesson8/lesson8.htm 「ボタンの作り方(オレンジのサンプルFLASH講座)」 http://orange.2-d.jp/flash/kiso/07.html 「Flashでボタンを作ろう!(作成編)|Flash初心者講座」 http://ameblo.jp/draftclub/entry-10009803868.html ---------- 何かの理由があって ボタン作成ではなくActionScriptでそういう動作をさせたいのでしょうか? それでしたらそれで, お持ちの Flash 作成ソフトのバージョン(Flash 5 や Flash MX や Flash CS4 や…) またActionScriptのバージョン(ActionScript1.0 や 2.0 や 3.0 や…), また「具体的にどうしたいのか(ActionScriptでしなければならない理由など)」を書かなければ, 何が疑問で何を解決したいのかわかりませんよ。。。

karisuma79
質問者

補足

BlurFiltan様 回答ありがとうございます。 説明不足ですみません、、 Flash 作成ソフトは、 Flash CS4です。 ActionScriptのバージョンは、 2.0です。 現状は、ボタンは作ってありまして、ボタンにマウスを乗せるとボタンの色が変化し、クリックすると次のページへ移動します。 やりたいことは、マウスだけではなく、ボタンをキーボートのEnterキーと連動したいです。Enterキーを押すとボタンの色か変わる同時に次のページに移動ということです、、、 今のところ、下記のActionScriptを利用して、Enterキーを押すと次のページへジャンプすることまでは来ました。 ただ、問題点はボタンの色が変わらないことです。これを解決したいです、、、 on(release){ _global.soundBtn.start(); _root.gotoAndStop("newpage"); } on(keyPress "<Enter>") { _global.soundBtn.start(); _root.gotoAndStop("newpage"); } よろしくお願いします。

関連するQ&A

  • ActionScript3.0について教えていただきたいです。

    ActionScript3.0について教えていただきたいです。 下記の添付画像を参考にしていただくと理解しやすいかと思います。 FLASH CS4にて、フレームの移動を行いたいのですが、どうも上手くいきません。 「メニュー画面」でボタンを選択し、「サブメニュー画面」を表示するところまではできるのですが、 緑のボタンをクリックして、「目的のページ」に移動する事ができません。 「メニュー画面」から「サブメニュー画面」へは、 ボタン名.addEventListener(MouseEvent.CLICK,任意の関数名); function 任意の関数名(e:MouseEvent):void{ gotoAndStop(ページ数); } というスクリプトで動きますが、「サブメニュー画面」から「目的のページ」への移動ができない状況にあります。 どなたかわかる方いらっしゃいましたら、是非教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 難関にぶつかりました 

    はじめまして! まったくの初心者です。 参考書とかを見てもなかなか難しいです。 ActionScriptのバージョンは2.0です。 まず、以下のように四つのボタンがあります。 「A」,「B」,「C」という三つのボタンと、クリックすると次のページへ進む「次」ボタンがあります。これで、全部で四つのボタンです。 ここで、「A」,「B」,「C」各、「あ」、「い」、「う」データを持っています。 動きとしては以下のようです、、、 (1)、キーボートのTabキーを利用して「A」,「B」,「C」の任意ボタンを選択します。(2)、(1)で選択されたボタンを、キーボートのEnterキーをクリックして決定(マウスだとクリックと同じです。)します。この時「B」ボタンが持ってたデータはサーバに送られます。 (例として、キーボートのTabキー利用し「B」を選択した場合、キーボートのEnterキーを押下すると、「B」ボタンがクリックされ、ボタン「B」が持っていた情報を、サーバ上に送くります。) (3)、最後、もう一回Enterキーを押下すると、「次」ボタンと連動して次のページへ進みます。 以上、よろしくお願いします。

    • ベストアンサー
    • Flash
  • flashについて

    独学でflashcs3(ActionScript1.0&2.0)をしています。 今、ホームページ(TopのFlashページ)を作っています。そこで…質問があります。 1.ドア(入り口)を作って、それをクリックするとそのドアが開き、幾つかの丸いものが出てきて、それぞれクリックすると、各々 のページへ飛ぶようにしたいです。 2.尚かつ、ドアをクリックしたときにボタンのように色が変わる仕組みにしたいです。 1,2を両方同時にやるような事はできるのでしょうか? いろいろな本を見てみたのですが、どうしても分からず困っています。宜しくお願いします。

  • ActionScriptについて

    教えてほしいことがあります。 今、FLASHを勉強しているのですがActionScriptでひっかかっています メインのファイルがあってそこにボタンによって別々swfファイルを呼び出すのですが、それはなんとかできたのですが、そこにボタンをクリックすると今表示されてるやつがアニメーションしてから次の選んだファイルを表示させたいのです。今はどうやっても、ぱっぱっっと切り替わってしまいます。 どういうプログラムにしたらいいのでしょうか? よろしくお願いします。

  • ボタンをクリックすると、隣の画像の内容とリンクが切り替わる

    未熟者のため、皆様にご質問させていただきます。 onmouseoverにて変化するボタンが5つ、その隣には写真が掲載されている、といった、なんの変哲もないページがあります。 このボタンを仮に「赤」「青」「黄」「緑」「茶」とさせていただきます。 「赤」のボタンを押すと、隣の写真が予め用意していた「赤い写真」に、「青」のボタンを押すと、写真は「青い写真」に…といった具合に切り替わります。 ここまでは問題ないのですが、その隣の写真には、それぞれの色に関連する別ページへのリンクを設定したいのです。 「赤」のボタンをクリックして現れた「赤い写真」をクリックすると、「赤いページ」へ移動する。 「青」のボタンをクリックして現れた「青い写真」をクリックすると、「青いページ」へ移動する。 …といった具合です。 getElementById…などの表記を色々試してみましたが、なかなか思うように動作してくれません。 作業するソフトはDreamweaverCS4、掲載されているページはXHTML1.0です。 このような情報だけで、アドバイスいただくことは可能でしょうか…よろしくお願いいたします。

  • ActionScript

    ActionScript を教えてください。 ドキュメント全体を透明なボタンでおおい、 画面をクリックすると次のフレームに進み、 左から右にマウスをドラッグすると前のフレームに戻るようにするにはどうしたらよいでしょうか? 進む方は、 on (release) { nextFrame(); } で、できたのですが、戻る方が全くわかりません。

    • ベストアンサー
    • Flash
  • Flashでボタンをつくっているのですが、actionscriptをつ

    Flashでボタンをつくっているのですが、actionscriptをつかってボタンをクリックさせたいのですが、アクションパネルのところに「現在の選択範囲にアクションを割り当てることはできません。」と表示されてしまいます。 参考書に附属されているflaをみたところ、Actionscript1.0、2.0となっているのですが、作成しているのはActionscript3.0で作っています。 ====== on (release) { /*↑ボタンが押されて離されたら*/ _parent.gotoAndPlay("about"); /*↑「about」ラベルへ移動*/ } ====== このようなscriptをいれたいのですが、うまくいきません。 ムービークリップでボタンを作るまではできました。その後、何かが抜けているのかして上記のようなエラーがでます。 flash初心者のため、どういう風に書いて質問させていただいたらよいのかわからないのですが、参考flaと見比べたときに「シンボル定義」のなかにあるムービークリップがひとつたりませんでした。(このムービークリップは「navigation」というものですのでそれがありません。) 質問するにはあまりにも情報が少ないかもわかりませんが、何卒ご教授いただけると大変助かります。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • キーを離した際、、、

    超初心者です。 ムービークリップタイプのA、B、C、D、4つのボタンを作成しました。 マウスを各ボタン上に乗せると、色が変わります。 選ばれたボタンを、クリックすると、イベントが発生します。 これをTABキーと連動したいです。 TABキーが離された瞬間、次のボタンへフォーカスが移動する形で、ボタンを選び、そして、決めたボタン上でEnterキーを押したら、イベントを発生させたいです。 例として、最初TABキーを押したら、フォーカスがAボタンへ行きます。 次に、TABキーを離したら、AからBボタンへ行きます。 また、TABキーを離したら、今度は、BボタンからCボタンへ行きます。 この過程中、TABキーをずっと押したまま離さないと、フォーカスが移動しません。 アクションスクリプトのバージョンは2.0です。 こういうのって可能ですか? 可能ならば、ぜひよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 【ActionScript】子ウィンドウ内のswfから・・・

    どうしてもやりたいので困っています。。 初心者ですがお願いしますm(_ _)m ■やりたいこと■ 子ウィンドウ内のswfファイル内にある複数のボタンから、親ウィンドウへ各ページのURLを飛ばしたいです。 (クリックした際、子ウィンドウはcloseしたい) 上記の事が出来るActionScriptがあれば、是非教えて頂きたいです。 宜しくお願いしますm(_ _)m

    • ベストアンサー
    • Flash
  • FlashのActionScriptについて

    FlashのActionScriptについて質問です。 Yesか Noを選択する、診断テストみたいなフラッシュを作りたいのです。 1フレームには一番はじめの Yes Noが表示されています。 それのどちらかのボタンをクリックするまで、次のフレームに流れないようにするには、 1フレーム目にstop();でよいのでしょうか? それとも、sotoAndstopとかなのでしょうか? また複数のレイヤーがあるときstop();などのアクションスクリプトは 全部につけなければいけませんか?

専門家に質問してみよう