9.
For the record... our complete script on the first frame will look something like this:
// initiate sound
music = new Sound();
music.attachSound("backsound");
music.start(0, 999999);
// set the volume of the sound to zero
music.setVolume(0);
// set a variable named 'vol'
vol = 0;
// set another variable named 'fade', putting a setInterval function in it
fade = setInterval(fadeIn, 100);
// set the initial fade in function
function fadeIn() {
// fade the sound in with an increment of 3 in the variable 'vol'
vol += 3;
music.setVolume(vol);
// put an if condition to restrict the increment in volume after it reaches to 100
if (vol>=100) {
clearInterval(fade);
// create the 'step' variable
step = 1;
// create the 'fade' variable
Fade = 0;
}
}
// create the fade in and out function
// function executed on onEnterFrame
_root.onEnterFrame = function() {
// set fade out
if (Fade == 1) {
vol = vol-step;
if (vol<0) {
vol = 0;
}
music.setVolume(vol);
// set fade in
} else {
vol = vol+step;
if (vol>100) {
vol = 100;
}
music.setVolume(vol);
}
};
10.
Now, finally, create a button and add this script on it:
on (release) {
(_root.fade=!_root.fade) ? 0 : 1;
}
What happens is that when you click the button for the first time... it sets the value of the variable 'fade' to 1, as the value of the variable 'fade' was set to 0 in the first function, thus fading the sound out as the block with vol-step executes. When you click the button for the second time it works vice versa. The ? 0:1 command simply sets the value of the variable 'fade' to 1 or 0, depending on what its previous value was.
Abra Cadabra!!! There you go... test your movie... should work perfectly fine.