我在和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“。
如果你能想到任何事,那将是一个很大的帮助。
谢谢!
发布于 2013-06-16 19:23:54
你需要再次停止音乐。如果您不停止它,它将继续播放:)
当您调用.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/。这是一个更大的教程的一部分,它教你游戏制作的许多方面,带你从新手到有能力创建游戏。你真的应该看看这个。
https://stackoverflow.com/questions/17132189
复制相似问题