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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     サウンドのON,OFFと音量調節バーの設置について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
honmappi
Åê¹ÆNo.26387
投稿日時: 2006-6-26 15:55
新米
居住地:
投稿: 3
使用環境:
FlasnMX
WinXP
サウンドのON,OFFと音量調節バーの設置について
はじめまして、ほんまっぴと申します。超初心者ですが、今後ともどうぞよろしくお願いいたします。
デフォルトでアニメーションにBGMを流していて、BGMのOFF,ONと音量調節のバーを付けたいと思っています。setVolumeを使って実現させようとしていて、音量調節バーの方は正常に動作するのですがBGMのOFF,ONのボタンが動作しません。

------------------------------------------
OFFボタン
------------------------------------------
on (press) {
_root.volume1.setVolume(0);
}

------------------------------------------
ONボタン
------------------------------------------
on (press) {
_root.volume1.setVolume(100);
}

------------------------------------------
音量調節のバー(ムービークリップ)
------------------------------------------
onClipEvent (load) {
tumami._x = 0;
}
onClipEvent (enterFrame) {
vol = (tumami._x+100)*100/200;
_root.volume1.setVolume(vol);
}

* 「tumami」はバーのつまみです。
「tumami」のスクリプトは以下です。
-------------------------------------------
on (press) {
this.startDrag(false,-100,0,100,0);
}
on (release, releaseOutside) {
this.stopDrag();
}
-------------------------------------------

よろしくご指導お願い申し上げます。m(_ _)m
野中文雄
Åê¹ÆNo.26388
投稿日時: 2006-6-26 16:08
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: サウンドのON,OFFと音量調節バーの設置について
以下のtrace()ステートメントの結果をご確認ください。
引用:
honmappiさんは書きました:
------------------------------------------
OFFボタン
on (press) {
	_root.volume1.setVolume(0);
	trace(["off", _root.volume1.getVolume()]);
}

------------------------------------------
ONボタン
on (press) {
	_root.volume1.setVolume(100);
	trace(["on", _root.volume1.getVolume()]);
}

------------------------------------------
音量調節のバー(ムービークリップ)
onClipEvent (load) {
	tumami._x = 0;
}
onClipEvent (enterFrame) {
	vol = (tumami._x+100)*100/200;
	_root.volume1.setVolume(vol);
	trace(["enterFrame", _root.volume1.getVolume()]);
}


----------------
 

honmappi
Åê¹ÆNo.26414
投稿日時: 2006-6-27 14:14
新米
居住地:
投稿: 3
使用環境:
FlasnMX
WinXP
Re: サウンドのON,OFFと音量調節バーの設置について
野中さん、ご返信ありがとうございました。
試してみたところ、音量調節のバーをドラックするとそれに伴ってtraceで表示される値が変わりその音量が維持されるのですが、ON/OFFのボタンをクリックすると、音量が変化するのはクリック時の一瞬だけで、あとは音量調節バーの音量に戻ってしまうことが分かりました。

こんな感じ----------------
enterFrame,50
enterFrame,50
enterFrame,50
on,100
enterFrame,50
enterFrame,50
enterFrame,50
enterFrame,50
enterFrame,50
off,0
enterFrame,50
enterFrame,50
enterFrame,50
----------------
ON/OFFのボタンの音量を維持させるにはどうしたらよろしいのでしょうか?何卒ご教示よろしくお願いいたします。m(_ _)m
ひろゆき
Åê¹ÆNo.26419
投稿日時: 2006-6-27 15:21
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: サウンドのON,OFFと音量調節バーの設置について
引用:
ON/OFFのボタンをクリックすると、音量が変化するのはクリック時の一瞬だけで、あとは音量調節バーの音量に戻ってしまうことが分かりました。

なぜ「音量調節バーの音量に戻ってしまう」かについては、お分かりですか?

音量調整バーは、どこで音量を決めているのでしょう?
ここですね。
onClipEvent (enterFrame) {
	vol = (tumami._x+100)*100/200;
	_root.volume1.setVolume(vol);
}

これでは、音量を設定し続けてしまいますね。


なので、次のように考えます。

音量調整バーを動かしている間(ドラッグ中)は、
音量を設定し続ける。

音量調整バーを止めた時(リリース時)は、
音量の設定を止める。


音量設定バーのインスタンス名は、何とおつけになっていますか?
また、tumami は、ムービークリップですよね?

音量設定バーのインスタンス名を仮に「bar」としておくと
_root
	|_ bar
		|_ tumami
という構造でしょうか?

例えば...。
bar, tumami のムービークリップアクションはなしにして...。
#フレームアクションの方が書きやすかったので、ご容赦を。

bar のフレームアクションに
tumami._x = 0;
tumami.onPress = function() {
	this.startDrag(false, -100, 0, 100, 0);
	this.onEnterFrame = function() {
		var vol = (this._x+100)*100/200;
		_root.volume1.setVolume(vol);
	};
};
tumami.onRelease = function() {
	this.stopDrag();
	delete this.onEnterFrame;
};
tumami.onReleaseOutside = tumami.onRelease;

function setTumamiPos(vol) {
	tumami._x = vol*200/100 - 100;
}
と記述。

OFFボタン
on(release) {
	_root.volume1.setVolume(0);
	_root.bar.setTumamiPos(0);
}

ONボタン
on(release) {
	_root.volume1.setVolume(100);
	_root.bar.setTumamiPos(100);
}


----------------
質問する際は、回答者に具体的な情報を与えてください。

野中文雄
Åê¹ÆNo.26420
投稿日時: 2006-6-27 16:30
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: サウンドのON,OFFと音量調節バーの設置について
まず大切なことは、どういう処理が行われているのかを確認することです。その結果、スクリプトは「指示どおり」に動作していることがおわかりになると思います。

「 OFFボタン」にはクリックされたらボリュームを0にしろといい、「ONボタン」にはクリックでボリュームを100にするように指示しています。他方で、「音量調節のバー」には、毎フレームtumamiの位置に応じたボリュームに設定しろと命じてある訳ですから。
引用:
honmappiさんは書きました:
試してみたところ、音量調節のバーをドラックするとそれに伴ってtraceで表示される値が変わりその音量が維持されるのですが、ON/OFFのボタンをクリックすると、音量が変化するのはクリック時の一瞬だけで、あとは音量調節バーの音量に戻ってしまうことが分かりました。

すると、つぎは誤った指示を、どうすれば「honmappiさんの意図どおり」に直せるかです。スクリプト以前の指示の仕方の問題ですから、honmappiさんがどうしたいのかを他人に尋ねられるのは、本来おかしなことです。
引用:
ON/OFFのボタンの音量を維持させるにはどうしたらよろしいのでしょうか?何卒ご教示よろしくお願いいたします。m(_ _)m

MovieClipのパスについてご説明がありませんので、仮に「音量調節のバー(ムービークリップ)」を_root.slider_mcとします。たとえば、このような処理にされたいのではないかと、「想像」します。
// OFFボタン
on (press) {
	// _root.volume1.setVolume(0);
	_root.slider_mc.tumami._x = -100;
}

// ONボタン
on (press) {
	// _root.volume1.setVolume(100);
	_root.slider_mc.tumami._x = 100;
}

最小限の修正しかしていませんので、必要があれば微調整など加えてください。


----------------
 

honmappi
Åê¹ÆNo.26462
投稿日時: 2006-6-28 13:41
新米
居住地:
投稿: 3
使用環境:
FlasnMX
WinXP
Re: サウンドのON,OFFと音量調節バーの設置について
野中さん、ひろゆきさん、ありがとうございました!
おかげさまで音量調節,ON,OFFができるようになりました。

アクションスクリプトの根本が分かっていないことを痛感いたしました…いつかここで質問に答えるな立場になれるようにがんばります!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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