... vielleicht liegt das an der Unverständlichkeit der Frage...
geht es immer noch um den Avi Sound , welche anderen soundobjekte hast du noch, warum steuert der sound on off button nicht den Pegel bereits existenter sound objekte sondern kreiert ein neues , gleiches gilt dür den schieberegler etc.... sorry, ich hab den thread (mich sozusagen für meine zwischenrufe entschuldigend ) 2* durchgelesen, aber ich komm nicht drauf.... ne abgespeckte fla wäre vielleicht hilfreich oder aber ne neue erklärung....
prinzipiell: nen AVI-SOund kannst du soweit ich weiss mit einem einfachen stopAllSounds(); abschalten, sound objekte definierst du einfach auf der timeline, bevor du an beliebiger stelle damit arbeitest. du hast also im ersten bild deines FIlmes bspw. den sound objekt konstruktor
PHP:
var snd = _root.home.snd=new Sound();
snd.onSoundComplete = function() {
_root.home.snd.stop();
};
der in diesem Falle im MC _root.home ein neues objekt der Kategorie sound anmeldet, und diesem gleich noch einen Event Handler mit auf den Weg gibt....da ist jetzt aber noch kein sound, sondern nur ein objekt...mit der frei aufrufbaren funktion:
PHP:
sound1 = function () {
if (_root.sound == "true") {
_root.home.snd.stop;
datei = "Piep Piep.mp3";
loader(datei, 100);
}
};
loader = function (datei, loudness) {
_root.level = loudness;
_root.ordner = "loops";
_root.target = _root.ordner+"/"+datei;
_root.home.snd.loadSound(_root.target, true);
_root.home.snd.setVolume(_root.level);
};
lädtst du einen nicht loopenden einmal-SOund in dein Objekt, und definierst die Lautstärke und andere Parameter.
Wie du bemerkt haben dürftest checkt er vorher ob sound == true, was dasselbe bedeutet wie dein sound on/off button, der aber nur folgenden code benötigt:
PHP:
_root.options.onPress = function() {
if (_root.sound == "false"){
_root.options.gotoAndStop(2)
_root.sound = "true";
}else{
_root.options.gotoAndPlay(1)
stopAllSounds();
_root.sound = "false";
}
};
du siehst: keine spur von einem objekt konstruktor auf dem on/off button....
wenn du jetzt einen schieberegler zum steuern des sound volumes einsetzt( ich hab hier einen vertikalen benutzt), dann hast du *im* MC folgenden Code:
PHP:
top = vol._y;
left = vol._x;
right = vol._x;
bottom = vol._y+100;
level = 100;
//
vol.onPress = function() {
startDrag("vol", false, left, top, right, bottom);
dragging = true;
};
vol.onRelease = function() {
stopDrag();
dragging = false;
};
vol.onReleaseOutside = function() {
dragging = false;
};
//
this.onEnterFrame = function() {
if (dragging) {
_root.level = 100-(vol._y-top);
} else {
if (_root.level>100) {
_root.level = 100;
} else if (level<0) {
_root.level = 0;
} else {
vol._y = -_root.level+100+top;
}
}
_root.home.snd.setVolume(_root.level);
};
du siehst auch hier keine spur eines konstruktors, der schiebergler setzt über die drag funktion nur eine variable (_root.level) und setzt diese nach jedem event gleich dem soundVOlume des angesprochenen Objektes (_root.home.snd.setVolume(_root.level)
, du kannst diese Zeile aber natürlich auch erweitern , und in einem Rutsch bis zu maximal 8 Soundobjekten (!evtl. mit gesetzten Varianten) ansprechen.
hgzh
B