トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     全てのキーに効果音をつけるには?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sgsfF
Åê¹ÆNo.17476
投稿日時: 2005-5-25 18:39
新米
居住地: 神奈川県厚木市
投稿: 3
使用環境:
WinXP,FlashMX2004
全てのキーに効果音をつけるには?
初めまして。昨日今日始めた初心者です。よろしくお願いします。
大学の課題にFlashで挑んでいるのですが、まったくのお手上げ状態です。自分なりに書籍を読んだり、サイト等を調べたのですがさっぱりでした。特にActionScriptに関しては本当にチンプンカンプンです^^;

私が作りたいFlashですが、
タイプライターのようにキーボードをタイプしたときに効果音のするテキストエリア
をFlashで出来ないだろうかと・・・
テキストエリアの編集の仕方あたりまでは出来たのですが、キーを押したときに効果音を出すというところがさっぱりわかりません。

きっとFlashを使わずに他のアプリケーションで作った方が簡単に出来るのだろうと思いますが、前々からFlashに興味がありこれを機にどんどん修行していこうと思い立ったのですが・・・
超初心者な上に拙い文章で申し訳ありませんがどうぞよろしくお願いします。
永井勝則
Åê¹ÆNo.17480
投稿日時: 2005-5-25 19:49
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
Re: 全てのキーに効果音をつけるには?
タイプライターのように、Flash画面上に、入力した文字が出て、カチカチだかの音が聞こえる、という仕様は、書かれているように、
1)入力した文字が表示される
2)音が鳴る
3)1)と2)は関連し合っている
という3つの仕組みが要ります。

で、音の方は、
KeyListener = {};
KeyListener.onKeyDown = function() {
	_root.sound_mc.play();
	//trace("KeyDown");
};
Key.addListener(KeyListener);

で、鳴ります。
これは、インスタンス名sound_mcというムービークリップをステージ上に置いています。
sound_mcの中に、鳴らしたいサウンドを入れ、初めはthis.stop()で止めておきます。
で、キー入力があったら、sound_mcの再生フレームを動かす、という仕組みです。

もしくはサウンドオブジェクトを作るという方法もあります。
(snd = new Sound()というやつ)

上のスクリプトは、イベント/リスナーモデルというやつで、リスナー役を任ぜられたオブジェクトが、イベントが起きないか起きないかと聞き耳を立て、起きた!と感知したら、何らかの動作を起こす、という仕組みです。

Keyオブジェクトが、登録されたオブジェクトKeyListenerに、イベント発生!を伝え、KeyListenerは設定されたonKeyDownイベントハンドラで、その通知を受ける、という流れです。

これは、キーなら何でも反応しますし、また、設定したテキストフィールドに入力していなくても音が鳴りますので、何らかの制限を設ける工夫がいります。

注)上記解説にはウソ、曲解、誤解が混じっているかも知れません。
もしそうでしたらご指摘ください。


----------------
永井勝則:
himco.jp :

sgsfF
Åê¹ÆNo.17507
投稿日時: 2005-5-26 18:11
新米
居住地: 神奈川県厚木市
投稿: 3
使用環境:
WinXP,FlashMX2004
Re: 全てのキーに効果音をつけるには?
さっそくの返信ありがとうございます。

大変わかりやすく説明していただきありがとうございます。
教えてもらったとおり、自分なりに次のように進めてみました。

・キータイプ音を入れた sound_mc というムービークリップを作る。
・sound_mc のアクションフレームに教えていただいたスクリプトをペースト
・ライブラリからステージ上にムービークリップ sound_mc をドロップする。
・その上にTextAreaを配置する。

上記のような手順で完成したものをプレビューしてみると、プレビューの始まる瞬間にタイプ音が「カタカタ」と数回鳴ってその後はキーをタイプしても音が鳴らないという状態になりました。

どうやらthis.stop()が抜けているのだと思われるのですが、どこに入れたらよいのかわかりません。
また、もっと根本的なところで間違っているのでしょうか?
今一度ご指摘いただけないでしょうか。
よろしくお願いします。
永井勝則
Åê¹ÆNo.17517
投稿日時: 2005-5-27 0:25
職人
居住地: 白馬村
投稿: 796
使用環境:
Windows 7 :Flash CS4:
10.6.8 :Flash CS5.5
Re: 全てのキーに効果音をつけるには?
どうやらthis.stop()が抜けているのだと思われるのが正解だと思われます。
それをどこに入れるのか、を教えてもらっても、その後また別の関門が、間違いなく発生します。
それくらい、今考えておられるキータイプ風アプリケーションは、簡単なものではないので、ここは何かの参考書を買われて、読まれるのがよろしいかと思います。
キータイプ風アプリケーションは、
1)テキストフィールドに文字が表示される
2)打鍵すると音が鳴る
3)1)と2)は関連している
という意味で、複合的です。ということは、条件文(if とかいうやつ)とか変数とか、ムービークリップとか、ターゲットパスとか、Flashプロフラミングの基本的なものが間違いなく出てきます。

ちなみに、this.stop()はsound_mcのシンボルの1フレームにフレームアクションとして書きます。しかし、thisとはなんぞや?とか、フレームアクションとムービークリップアクションとかの違いを分かっていないと、次に進める糧にはなりません。

ということで、ぜひ参考書を読まれることをおすすめします。


----------------
永井勝則:
himco.jp :

Fla4man
Åê¹ÆNo.17535
投稿日時: 2005-5-27 20:15
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: 全てのキーに効果音をつけるには?
このてのもの(短いサウンドの)のとき

サウンドオブジェクトのスタートストップよりも
音のあるMCを作っておいて「Goto and play」で制御して
勝手に止まってくれる形にしておくほうがよいと思います。

またこの手法だとこのサウンドクリップを「Loadmovie」することで
キーフレームの名称を統一しておけば「セットで交換」できる
というメリットもあります。

そのムービークリップ自体に対してサウンドオブジェクトを作り
ボリウム調整とか音の位置調整をします。

サウンドに関してはムービークリップと開始以外同期はしきれないので
2回「goto」した場合音は重なりうることがあります。
完全にコントロールしたい向きにはこれは困る要素ですが
私はこれはキーボードとかをやりたいときは結構「困らない仕様」だと思っています。

設計時のほうがスクリプトより明らかに細かいボリウム調整とか
タイミング調整とかできる点も
私がこの手法に落ち着きつつある理由のひとつです。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

sgsfF
Åê¹ÆNo.17571
投稿日時: 2005-5-28 18:12
新米
居住地: 神奈川県厚木市
投稿: 3
使用環境:
WinXP,FlashMX2004
ありがとうございます
レスありがとうございます。
確かに基本的な知識も持たずに作るには非常にハードルの高いものだということがわかりました。
一応本も何冊か購入し、その本の中でFLASH-JPの紹介がされていたので・・・という経緯があったのですが、まずはもっと本で基礎を学ぶべきと言う事ですね。
わざわざこんな初心者にお付き合いいただきありがとうございました。
終始わかりやすく説明していただき非常に感謝しています。
どうもありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops