Soundproblem mit mehreren Buttons

C4T

Erfahrenes Mitglied
Hi all,

ich komme hier bei meinem Soundproblem nicht mehr weiter.
Habe über den Verhaltens Assistenten die Sounds für meine 3 Buttons zugewiesen.
Jetzt gibts da aber ein Problem.
Und zwar soll der eine Sound aufhören, wenn der nächste aktiviert wird.
Ich weis leider nicht wie ich das Actionscript richtig umschreiben muss.
Hier mal der Code für einen Soundbutton:
Code:
on (release) {
	if(_global.Behaviors == null)_global.Behaviors = {};
	if(_global.Behaviors.Sound == null)_global.Behaviors.Sound = {};
	if(typeof this.createEmptyMovieClip == 'undefined'){
		this._parent.createEmptyMovieClip('BS_sound1',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
		_global.Behaviors.Sound.sound1 = new Sound(this._parent.BS_sound1);
	} else {
		this.createEmptyMovieClip('_sound1_',new Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000) );
		_global.Behaviors.Sound.sound1 = new Sound(this.BS_sound1);
	}
	_global.Behaviors.Sound.sound1.attachSound("sound1.WAV");
	if (true) {
		_global.Behaviors.Sound.sound1.start(0,1);
	}
}

Und hier das AS für den Stopbutton:
Code:
on (release) {
	stopAllSounds();
}

Kann mir da jemand helfen ?
Gruß
 
Hi,

na ja, der vom Assistenten erzeuge Code schmeckt mir nicht wirklich... ich würde Dein Problem z.B: so lösen:
PHP:
// Code auf der Hauptzeiteiste:
_global sounds = 3;
_global.sound = new Array(3);

for (var i=0; i<sounds; i++) {
    sound[i] = new Object();
    sound[i].carrier = this.createEmptyMovieClip("carrier", this.getNextHighestDepth());
    sound[i].snd = new Sound(sound[i].carrier);
    sound[i].snd.attachSound("wave" + i); // angenommen, die Sounds heissen in der
    // Biblithek "wave0", "wave1" und "wave2"
}

// Code auf den jeweiligen Buttons:
on (release) {
    stopAllSounds(); // hält alle Sounds an
    // alternativ:
    for (var i=0; i<sounds; i++) {
        sound[i].snd.stop();
    }
    sound[0].snd.start(0, 1); // Bei Button 3 wäre es sound[2]
}
Ob Du stopAllSounds verwendest, oder die Sounds in einer Schleife stoppst, hängt davon ab, ob z.B. noch irgendwo ein Hintergrundsound läuft, der nicht angehalten werden soll.

Wahrscheinlich würde es in Deinem Code auch genügen, ein stopAllSounds() in den onRelease-handler zu setzen.

Gruß
.
P.S.: und bitte toppe Deinen eigenen Thread nicht unnötig; nicht immer ist jemand anwesend, der sogleich antworten kann oder will - schnelles Nachfragen beschleunigt die Sache nicht, und wird hier auch nicht sehr gerne gesehen. ;)
.
 
Zurück