• ベストアンサー

adobe Flash CS5 ActionScript3 ボタンを押

adobe Flash CS5 ActionScript3 ボタンを押す度に、音の頭出し再生 AC3始めたばかりの初心者です。 「ボタンを押したらSE(音)がなる」FLASHをつくっているのですが、ボタンを連続で押すとSEが重なってしまいます。ボタンを押すごとに、SEの頭出しで再生させたいのですが、 どのようにすればよいのでしょうか? どなたかご教授頂けると助かります。

  • Flash
  • 回答数2
  • ありがとう数8

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

  • ベストアンサー
  • BumeshiOK
  • ベストアンサー率92% (12/13)
回答No.2

ボタン16個に同じスクリプトを書くのは非効率的ですが、 それは別問題なので無視します。 で、キーボードに対するスクリプトとボタンに対するスクリプトが 同じファイルまたは階層に記述されていると仮定すると、 ↓こんな感じでしょうか。 stage.addEventListener(KeyboardEvent.KEY_DOWN,dok); function dok(e:KeyboardEvent):void{ if (e.keyCode == 49){ if(mySoundChannel){ mySoundChannel.stop(); mySoundChannel = null; } mySoundChannel = mySound.play(); } ってか、ボタン用スクリプトを見ればだいたい分かると思いますが。。。 コピペで「出来た」とするのではなく、内容を理解するように意識してみると良いと思いますよ。

yuko_1985
質問者

お礼

BumeshiOK 様 ご返信ありがとうございます。 無事やりたい事ができました! if文は続けて書いてもよいのですね。まだまだ勉強不足でした… >コピペで「出来た」とするのではなく、内容を理解するように意識してみると良いと思いますよ。 確かにActionScriptの基礎ができてないまま作り始めていたので、これからは意味を理解しながら、やっていきたいと思います。 ご教授ありがとうございました!

その他の回答 (1)

  • BumeshiOK
  • ベストアンサー率92% (12/13)
回答No.1

SoundDataというライブラリ内のデータを呼び出すと仮定して、 var mySound = new SoundData(); var mySoundChannel = new SoundChannel(); function playSound(e:MouseEvent):void{ if(mySoundChannel){ mySoundChannel.stop(); mySoundChannel = null; } mySoundChannel = mySound.play(); } BTN.addEventListener(MouseEvent.CLICK,playSound,false,0,true); こんな感じでしょうか。 結構ガッツリですが。 もし読み込み形式(Sound.load())で、ロード中(ストリーム中)であれば、 Sound.close() でロードをキャンセルできます。

yuko_1985
質問者

お礼

BumeshiOK 様 早々の回答ありがとうございます。 おっしゃる通りやってみたら出来ました! ただ別の問題が発生してしまいました。私の説明不足だったのですが、 ボタンを押すと音が出て、尚且つキーボードを押しても音が出る(if文使用)ようにしていたのですが、if文がボタンとキーボードでそれぞれ出てきてしまい上手くいきません。 いろいろ試してはみたのですが、キーボードクリックで音(押すごとに頭出しされる)を出すやり方はあるのでしょうか? お手数ですが、ご教授いただけると大変助かります。 《現在ボタン》 var mySound = new SoundData(); var mySoundChannel = new SoundChannel(); function playSound(e:MouseEvent):void{ if(mySoundChannel){ mySoundChannel.stop(); mySoundChannel = null; } mySoundChannel = mySound.play(); } BTN.addEventListener(MouseEvent.CLICK,playSound,false,0,true); 《現在キーボード》 stage.addEventListener(KeyboardEvent.KEY_DOWN,dok); function dok(e:KeyboardEvent):void { if (e.keyCode == 49) { mySound.play(); ※ボタン計16個

関連するQ&A

  • FlashのActionScriptについて質問です。

    FlashのActionScriptについて質問です。 Flash CS4のAS2.0を使用 ActionScriptの書き方で (1)ボタンインスタンスに書く (2)対象のインスタンスのフレームに書く (3)ActionScript専用のフレームを作成しそこへ書く 参考書等を読んでいるとActionScriptを書くときに、上記3つの方法が あり混乱しています。 それぞれ、どのような違いがあるのでしょうか?また、どのように使い分けるのでしょうか? Flashに関しては、始めたばかりの超初心者です。どうぞ宜しくお願いします。

  • FlashのActionScriptについて

    FlashのActionScriptについて Flash CS4(AS2.0)を使用 Flashに関しては初心者で、色々な参考書を見ている中で、 AkutionScriptの書き方に色々なパターンがあって分からなくなりました。 アクションを書き込む際、 (1)専用のActionScriptのフレームを作成してそこに書く (2)ボタンインスタンスに書く (3)対象のシンボルのフレームに書く 上記3つの方法はそれぞれどのような違いがあるのでしょうか?又、どのようにして 使い分けするのでしょうか?

  • Flashでボタンをつくっているのですが、actionscriptをつ

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

    • ベストアンサー
    • Flash
  • Flash CS5でActionScript3.0

    Flash CS5でActionScript3.0をの勉強を始めました。 2.0まで、出ていたはずのコードヒントが表示されず困っています。 ネットでも調べて見ましたがそのどれにも「importが必要」と書かれてあり、その意味ややり方が わかりません。 環境設定のactionscriptの「コードヒント」にはチェックが入っています。 難しい操作でしょうか? 何かを追加するのでしょうか? 手順を読んでも意味がわかりませんでした。 初心者に分かるような書き方をしている人がいなかったので どなたか分かる方、分かりやすく教えてください。

  • Flash CS4 + ActionScript 3.0 で swf

    Flash CS4 + ActionScript 3.0 で swf ファイルを作成しました。 メインのタイムラインの 1 フレーム目に ActionScript で stop(); を 指定したのですが、swf 単体で再生(Adobe Flash Player 10で再生)して 確認したところでは問題なく 1 フレーム目で停止しますが、 swf を HTML に配置してブラウザで確認したところ、 ロード時にはメインのタイムラインがすべて再生されてしまいます。 これについての対処法はあるのでしょうか? 自分なりの調べて見つけた方法としては、 ↓こんな感じだったのですが、根本解決ではない気がするので、  何か良い方法があれば、教えてください。よろしくお願いします。 ・外部ファイルを読み込むだけの swf を作って、  実際に再生したい swf を UILoader に読み込む ・全部ムービークリップに入れてしまって、  メインのタイムラインには、そのムービークリップだけ配置する

    • ベストアンサー
    • Flash
  • Flash cs3のActionScript3.0でリンクを設定する方法

    Flash cs3のActionScript3.0でリンクを設定する方法を教えて下さい。 Yahooのトップページにあるバナー広告のように画面のどこをクリックしてもリンク先に飛べるようにしたいです。 またビヘイビア(ActionScript2.0)でリンクを設定し作成したボタンをクリックすると 『実行されようとする操作の安全性が確認されていない為、Adobe Flash Playerは停止しました。』 と表示されます。 どうしたら表示されずリンク先にとべるでしょうか? アドバイスよろしくお願いします。

  • ADOBE FLASH CS4の

    ADOBE FLASH CS4の チェックボックスについてわからない事があります。 現在作っているサイトなのですが TOPページ内にボタンAがあり、このボタンAの下にチェックボックスを設置しようと 考えています。 このチェックボックスにチェックを入れると、次回の表示からTOPページを飛ばして ボタンAのページに自動的に飛ぶような仕組みにしたいのです。 コンポーネント内のチェックボックスを使って 上記のような仕組みを作るにはどうすればよいのでしょうか? 既存のFLASH教科書では解決策が見当たらず、自身もFLASH初心者なので まったく見当がつきません、、、。 どうか皆様の知恵をお貸しいただければ助かります。 よろしくお願い致します。

  • Flash CS4 actionscript3.0に関しての質問です。

    Flash CS4 actionscript3.0に関しての質問です。 あるボタンMCにaddEventListenerでリスナーを設定しているのですが、 親MCをgotoAndStopにてフレーム移動し、また元のフレームに移動してくると 設定したリスナーがなくなっているのです。 この場合は都度、リスナーを再設定するしかないのでしょうか?

    • ベストアンサー
    • Flash
  • Adobe Flashでカウントボタンについて

    こんにちは。今Adobe Flashでカウントボタンをつくろうとしているのですが、Flashに関しては初心者のため、手こずっています。 このようなFlashを作りたいと考えています。 --- (例) 今までにクリックされた回数:12345回 ボタンをクリック=上の回数にに加算 これをweb上で共有させたいです。 --- ネットや参考書などで調べてはいるのですが、いまいちわかりません。 どなたかFlashに詳しい方がいらっしゃいましたら、ご教授お願いいたします。

  • Flash ActionScriptで画像の読み込み

    Flashでトランプゲームを作ろうと思っているのですが、カード一つ一つシンボルに入れると容量が大きくなるので、画像を読み込もうと思いました。 が、読み込み方法が良くわかりません。 ActionScriptならこういうのがあると思ってネットで色々調べてみたのですが、しっくりとしたサンプルがなかったのでここに書き込みました。 使っているソフトはAdobe Flash CS3 Professionalです。

    • ベストアンサー
    • Flash

専門家に質問してみよう