如何在AS3中控制声音/音乐播放黑白

时间:2013-06-16 10:13:09

标签: actionscript-3 audio

我正在用AS3制作游戏。我想在每个背景中添加不同的音乐。

到目前为止,当玩家进入场景时,我已成功启动音乐。但是,如果他出去,音乐仍然在播放......(我希望音乐在玩家离开场景时停止)。

我不明白为什么音乐还在播放..这是我的代码:

public function newBackground(thisBack:String):void{
            var room = back.currentBack;
            switch (thisBack){
case "maisonExt":
                    var mySound:Sound = new exterieur ();
                    mySound.play ();

我的mp3文件名为“exterieur.mp3”。

如果你能想到任何事情,那将是一个很大的帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要再次停止播放音乐。如果你不停止它,它将继续播放:)

当你调用.play时,它会返回一个SoundChannel,让你可以控制播放 - 改变位置,停止播放,以及访问SoundTransform,让你控制音量。以下是一些示例代码:

public var currentSoundChannel:SoundChannel;

public function newBackground(thisBack:String):void
{
    var room = back.currentBack;
    if (currentSoundChannel != null)
    {
        currentSoundChannel.stop()
    }
    var nextSong:Sound;
    switch (thisBack){
        case "maisonExt":
            nextSong = new exterieur ();
            break;
    }
    currentSoundChannel = nextSong.play();
}

如果您想了解有关声音的更多信息,我建议您使用本教程http://gamedev.michaeljameswilliams.com/2009/03/03/avoider-game-tutorial-9/。这是一个更大的教程的一部分,它教你游戏制作的许多方面,从新手到能够创建游戏。你应该真的检查一下。