
No.2ベストアンサー
- 回答日時:
サウンドをタイムラインに挿入すると、簡単に鳴らせますけれど、あまり融通が利きません。
スクリプトで鳴らすには、いろいろと下準備も必要で少々難しいのですが、細かい制御ができるのでオススメです。
スクリプトでサウンドを鳴らす時は、「リンケージ」という設定が必要です。
「ライブラリ」ウィンドウで、BGMとして鳴らしたいサウンドを選び、control +クリックで出すメニューから「リンケージ... 」を選択してください。「リンケージのプロパティ」パネルが開きます。
「リンケージ:」の項目にある「 ActionScript に書き出し」にチェックを入れると、他の項目も編集可能になります。
「識別子」の項目に、何か分かりやすい名前を入力してください。この名前は、スクリプトでサウンドを扱う時に必要になります。日本語はトラブルの元になりやすいので、半角の英数字と” _ ”だけで付けるといいでしょう。
ここでは仮に、「 bgm 」と付けたとします。
なお、「最初のフレームに書き出し」の項目は、チェックを外しておくことをおすすめします。
チェックを入れると、サウンドのデータが最初のフレームに書き出されます。
データが書き出されるだけで音は鳴らないのですが、フレーム1の容量が大きくなるので、Now Loading のアニメを作っている場合は、フレーム1のダウンロードに時間がかかり、このアニメがなかなか始まらなくなってしまいます。
しかし、ここにチェックを入れなければサウンドデータがムービーに書き出されず、スクリプトで鳴らそうとしても音が鳴らなくなってしまいます。
簡単な対策としては、Now Loading アニメの邪魔にならないフレームに仮にサウンドを挿入しておき、「プロパティ」パネルの「同期:」のリストから「ストップ」を選んで、最初は止めておく方法があります。
フレームに挿入されているのでデータは書き出されますが、スクリプトで指示するまでは音は鳴らない、という仕組みです。
以上で下準備は完了です。
次は、サウンドを鳴らすスクリプトを設定します。
BGMを鳴らしたい最初のフレームにキーフレームを作り、次のようなスクリプトを設定します。
(↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください。このまま使うとシンタックスエラーになります)
//BGMを動的に挿入し、再生する
bgm_obj = new Sound();
bgm_obj.attachSound( "bgm" );
bgm_obj.start();
//演奏終了時、自動的にループ
bgm_obj.onSoundComplete = function()
{
this.start();
};
スクリプトでサウンドを操作するには、Sound クラスを使います。ヘルプで調べる時は、「 Sound クラス」の項目をご参照ください。ここでご紹介した以外にも様々な機能があり、タイムラインではできない面白い演出も可能です。
ムービーにデータを書き出すためにタイムラインにサウンドを仮に挿入していても、これはスクリプトでは制御できません。
スクリプトで制御するには、まず、attachSound でサウンドシンボルのインスタンスを挿入します。
この時に必要になるのが、先ほど「リンケージのプロパティ」で設定した識別子です。
あとは、Sound クラスの start メソッド(関数のようなもの)を実行すれば、音は鳴ります。
しかし、何も指示しなければ、BGMは1回再生されただけで終了してしまいます。
Flash MX からは、Sound.start(); での再生が終了した時にイベントが発生して、終了を検出できるようになりました。
この時に実行する処理を予め登録しておくと、再生終了時に自動的に実行されます。
この登録をしているのが、上記のスクリプトの
bgm_obj.onSoundComplete = function ・・・
の部分です。
再生終了時に、再度サウンドを最初から再生するように定義することで、無限ループ再生になります。
上記のスクリプトで鳴らしたサウンドは、シーンが変わっても再生され続けます。
止めたい時は、
bgm_obj.stop();
というスクリプトを設定してください。
フレームでも、ボタンやムービークリップのインスタンスに設定するスクリプト(オブジェクトアクションといいます)でも構いません。
ただし、ムービークリップのインスタンスに設定する場合は、
_root.bgm_obj.stop();
となりますので、ご注意ください。
長くなってすみませんでした。
不明な点がありましたら、補足してください。

No.1
- 回答日時:
ぱっと思いついた方法です。
(思いついただけで,実験してないのですみません。)
(また,他に良い方法があるとは思います。)
まず,サウンド入りのムービーを用意して,そのムービーにムービークリップを用意します。
そのムービークリップ(のインスタンス名)をターゲットとして,作られた複数シーンをもつムービーをロードムービーされてはいかがでしょうか。
最初,HTMLの方で流し続ければ良いように思ったのですが,Flash的ではないので,上の方法を書いてみました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
uwscでExcelに自動記入
-
potplayerについて質問です
-
Flash Playerのサポートが終了
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Form内のselectを連動させるに...
-
ad or script について
-
Excel VBAについて。
-
FLASHでゲームを作っていた人は...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
Flashplayerの運用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpで音を鳴らす
-
webサイトに動画をはりつけ、ク...
-
HTMLでFLVを再生する時に再生ボ...
-
Flashゲームのセーブ機能の作り方
-
マウスオーバー/マウスアウト...
-
音声データを再生するボタン
-
UWSCの保存から再生方法
-
vbscriptでウィンドウズメディ...
-
複数のsoundを1つのon/offボタ...
-
エクセルで通知音
-
AVIファイルを読み込む方法
-
ムービープレビューの動きがお...
-
とめたBGMをもう一度ならしたい
-
メディアプレーヤーで再生する...
-
パソコンのオープンフレームっ...
-
フレーム内のオプションボタン...
-
フレーム内に移動したい
-
cisco catalystのトラブルシュ...
-
VBで動的に作成したパネルの上...
-
ActionScript 3.0についての質...
おすすめ情報