Lautstärken Regler mit Dynamischen AN/AUS

Hallo.

Ich habe mich mal im Forum umgeschaut und eine Super Lösung gefunden.

http://www.tutorials.de/forum/flash...ler-setzen.html?highlight=lautst%E4rke+regler

Dennoch habe ich das Problem, das wenn ich auf Sound klicke der Sound nicht mehr langsam leiser wird.

Hier die FLA: meinregler.zip

Hier der AS Code im 1. Bild (_root):
PHP:
_root.soundstatus = "on";
_root.mySound = new Sound(_level0);
_root.mySound2 = new Sound(_level1);
_root.mySound3 = new Sound(_level2);
_root.mySound4 = new Sound(_level3);
_root.mySound5 = new Sound(_level4);
_root.maxvolume = 100;
_root.minvolume = 0;
_root.regler.onEnterFrame = function() {
	if (_root.soundstatus == "on") {
		step = 5;
	}
	if (_root.soundstatus == "off") {
		step = -5;
	}
	if (_global.regleractive == undefined) {
		_root.maxvolume = _root.maxvolume + step;
		if (_root.maxvolume > 100) {
			_root.maxvolume = 100;
		}
		if (_root.maxvolume < 0) {
			_root.maxvolume = 0;
		}
	} 
	_root.mySound.setVolume(_root.maxvolume);
	_root.mySound2.setVolume(_root.maxvolume);
	_root.mySound3.setVolume(_root.maxvolume);
	_root.mySound4.setVolume(_root.maxvolume);
	_root.mySound5.setVolume(_root.maxvolume);
};

Und der AS Code vom Regler:
PHP:
stop();
rechts = posi._x;
oben = posi._y;
links = posi._x - 100;
unten = posi._y;
posi._x = Math.floor(links + _root.mySound.getVolume());
//posi.onEnterFrame = function() {
//	_root.maxvolume = Math.floor(this._x - links);
//};

posi.onPress = function() {
	_global.regleractive = 1;
	posi.onEnterFrame = function() {
		_root.maxvolume = Math.floor(this._x - links);
	};
	this.startDrag(false, links, oben, rechts, unten);
};
posi.onRelease = function() {
	delete this.onEnterFrame;
	//delete _root.regler.onEnterFrame;
	this.stopDrag();
};
posi.onReleaseOutside = posi.onRelease;

Danke

cu
 
Hi,

Code:
posi.onRelease = function() {
	_global.regleractive = undefined;
	delete this.onEnterFrame;
	this.stopDrag();
}
Du musst die Variable "regleractive" wieder auf undefined setzen, damit die Lautstärke automatisch geändert werden kann. Auf der Hauptzeitleiste steht nämlich:
Code:
if (_global.regleractive == undefined) {

Übrigens: Wenn Du mit dem Regler auf halbe Lautstärke gehst und den Sound dann über den Button ab- und wieder anschaltest, geht das Ding wieder auf 100 hoch und nicht nur bis zur Reglerposition.

Gruß
.
 
Lass vom Regler den Maximalwert setzen und verwende eine eigene Variable für den aktuellen Wert:
Code:
// auf der Hauptzeitleiste:

_root.maxvolume = 100;
_root.curvolume = 0; // aktuelle Lautstärke

regler.onEnterFrame = function() {
	if (soundstatus == "on") {
		step = 5;
	}
	if (soundstatus == "off") {
		step = -5;
	}
	if (regleractive == undefined) {
		curvolume += step; [COLOR=red]// maxvolume nur als Begrenzung verwenden:
		if (curvolume > maxvolume) {
			curvolume = maxvolume;
		}
		if (curvolume < 0) {
			curvolume = 0;
		}
	} 
	mySound.setVolume(curvolume);
	mySound2.setVolume(curvolume);
	mySound3.setVolume(curvolume);
	mySound4.setVolume(curvolume);
	mySound5.setVolume(curvolume);
}
Code:
// Im Regler:

posi.onPress = function() {
	_global.regleractive = 1;
	posi.onEnterFrame = function() {
		_root.maxvolume = Math.floor(this._x - links);
		// Setzen, wenn aktiv:
		if (_root.soundstatus == "on") _root.curvolume = _root.maxvolume;
	}
	this.startDrag(false, links, oben, rechts, unten);
}

Gruß

P.S.: Warum verwendest Du eigentlich 5 Soundobjekte für einen einzigen Sound?
.
 
Zurück