我目前在游戏中有两个场景
进入场景时,会播放一首音乐。当游戏结束并且用户进入场景二时,音乐停止。当选择重试游戏时,音乐会再次播放。
我试图将音乐编码为连续播放
[self runAction:[SKAction playSoundFileNamed:@"YourFileName.extension" waitForCompletion:NO]];
这种方式非常有效,因为当游戏结束时,音乐仍在播放而不是被切断。但是,当选择重试并再次进入场景1时,音乐会继续,但也会再次触发,从而导致重复。这可以继续发生。
有没有办法检测音频是否已播放,以便每次进入第一场时都不会继续触发?
答案 0 :(得分:0)
创建一个初始化为NO的bool:
bool isMusicPlaying;
当你开始播放音乐时,将bool设置为YES,并确保在播放时音乐无法启动:
if(isMusicPlaying == NO)
{
[self runAction:[SKAction playSoundFileNamed:@"YourFileName.extension" waitForCompletion:NO]];
isMusicPlaying = YES;
}