No.2ベストアンサー
- 回答日時:
#1です。
> ボタンタイプのシンボルにして、
> オーバーのフレームにだけ音源ファイルをおいてあります。
そういう状況でしたら次のようにするのが1つの方法だと思います。
(その状況だと案は以下の1つくらいしか思い浮かばない。)
ステージ上には5つのボタンがあったとします。
[■sound]
[■top] [■mail] [■blog] [■link]
ボタンにはそれぞれ
「sound_btn」「top_btn」「mail_btn」「blog_btn」「link_btn」
というインスタンス名を付けていたとします。
※ インスタンス名は,
各ボタンを1つずつ選択した状態で
ステージ右の「プロパティ」パネルの
上の方にある
[<インスタンス名> ]
となっている入力ボックスで設定できます。
そのようになっている状態で
それらボタンが存在するフレーム(キーフレーム)に次のスクリプトを書きます。
---------------------------------
//音 オン・オフ のフラグを用意(初期値:オン)
var sound_flg:Boolean = true;
//「sound_btn」クリック時の動作を定義
sound_btn.onRelease = function():Void {
//もしフラグの値が true であれば
if (sound_flg) {
//フラグの値を false にする
sound_flg = false;
//(目印にこのボタンを半透明にする)
this._alpha = 50;
//もしフラグの値が false であれば
} else {
//フラグの値を true にする
sound_flg = true;
//(目印にこのボタンを不透明にする)
this._alpha = 100;
}
};
//関数 deleteSound の定義
function deleteSound():Void {
//もしフラグの値が false であれば
if (!sound_flg) {
//全ての音オブジェクトを削除
stopAllSounds();
}
}
//「top_btn」~「link_btn」ロールオーバー時に
//関数 deleteSound を実行
top_btn.onRollOver = deleteSound;
mail_btn.onRollOver = deleteSound;
blog_btn.onRollOver = deleteSound;
link_btn.onRollOver = deleteSound;
---------------------------------
要するに「音制御ボタン」を1回クリックしたときに
用意したフラグ用変数の値を false にするわけです。
そして4つの「メニューボタン」にロールオーバーしたときに
そのフラグ用変数の値が false である場合に限って出てくる音を全て消すというしくみです。
音(Soundオブジェクト) にインスタンス名などを付けて
その音をボタンのロールオーバー時に呼び出すような仕組みにしてあると
その音を呼び出さなければ良いというだけのことになります。
そうではなく
ボタン内タイムラインに配置した無名の音が勝手に鳴るしくみを作っているわけですから
勝手に鳴り出す全ての音をその都度消してしまうしか方法はないということになります。
ちなみに私が作成してみたものの参考図↓
ありがとうございます!無事に動作致しました。
詳細に説明戴き、勉強にもなりました。感謝です。
キーフレームに直接置くと言うやり方自体が方法論を減らしてしまうと言う事ですね。
No.1
- 回答日時:
> 環境はCS4です。
それだけでは状況(状況 以前のバージョン情報)がわかりません。
ActionScript 2.0 以下 を使用しようとしている(ActionScript 1.0 や 2.0 パブリッシュ設定が条件) とか
ターゲットとする Flash Player のバージョン とか(携帯用 Flash Lite である可能性もありますよね)。
もし,
そんなものはどうでも良いのでしたら,「バージョンは何でも良い」という状況説明が不足しています。
> 説明不足かも知れませんが
その通りですね。
ActionScript の バージョン などもわかりませんし
作ろうとされているものによっても方法やスクリプトなどは全く変わりますから何とも言えません。
したがって具体的な回答はできませんので大雑把に書きます。
何かフラグ(適当な変数)を用意して
たとえば 「オン」 状態でのフラグの値を true にして
「オフ」状態でのフラグの値を false にしておきます。
そして
効果音が鳴る仕組みのアイコンをムービークリップで作成して,
フラグが true のときだけ アイコン 内を 音の入ったフレーム に進める。
という方法も考えられます。
また
たとえば ユーザが 「オン」 状態 や 「オフ」 状態を指定するときのボタンクリックなどで,
アイコン の enabled プロパティを true や false にする方法も考えられます。
この回答への補足
すみません。説明不足にも程がありました...。ご指摘ありがとうございます。
教えて戴いた方法論も考えてみるとして、まずは補足分を書かせて貰います。
ActionScriptは2.0、playerは10です。
作ろうとしている物はflashメニューで、
[■top] [■mail] [■blog] [■link]
のように画像が並んでいます([ ]がひとつの画像です)
ひとつの画像にマウスを載せる度にそれぞれの効果音が鳴るのですが、
その音が鳴る、鳴らないをボタンで切り替えが出来るようにしたいと思います。
現時点での方法はひとつの画像ごとにボタンタイプのシンボルにして、オーバーのフレームにだけ音源ファイルをおいてあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActionScriptでボタンをクリッ...
-
onClipEvent(load)かhitareaの...
-
flash suzukaで・・・
-
深度を最前面にしたいが?
-
変数に256文字以上のテキストを...
-
Googleの検索窓をFlashオブジェ...
-
VBScriptでMsgBoxのYesNoボック...
-
楕円の軌道に傾斜をつける方法...
-
photoshopで書いた四角の枠の中...
-
VB6.0で、フォームから、別のフ...
-
CreateDialogについて
-
SNMPの標準MIBについて
-
VBAユーザーホームテキストボッ...
-
全てのテキストボックスをセル...
-
VB6.0のHideのバグ?
-
VBAで改行の入ったデータの正規...
-
画面の範囲選択
-
ランダムに4桁の数字を表示する...
-
Access2000 実行時エラー '3061':
-
flashの背景色(stageの色)を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
flash lite1.1 ボタンについて
-
onClipEvent(load)かhitareaの...
-
×ボタンを無効化したいのですが...
-
深度を最前面にしたいが?
-
ボタンの上にカーソルを置いた...
-
マウスオーバーでの外部swf読み...
-
ボタンをクリックして画面遷移...
-
スクリプト外部ムービーの制御
-
メニューボタンを押されたまま...
-
ボタンアクション flash アク...
-
ダブルクリックを無効にするには
-
Flash8でサウンドが鳴りません
-
FLASHで印刷ができません
-
マウスポインタを変化させない方法
-
VB 基本的なプログラム √ ...
-
記述の無いアクションが動く??
-
ボタンインスタンスにスクリプ...
-
(1)PSP2000にCFW 5.50GEN-D3を...
-
こういう事をしたいのですが
-
2つのムービークリップをスク...
おすすめ情報