如何检查SKAction是否已播放文件?

时间:2014-10-27 12:50:48

标签: ios sprite-kit skaction

我目前在游戏中有两个场景

进入场景时,会播放一首音乐。当游戏结束并且用户进入场景二时,音乐停止。当选择重试游戏时,音乐会再次播放。

我试图将音乐编码为连续播放

[self runAction:[SKAction playSoundFileNamed:@"YourFileName.extension" waitForCompletion:NO]];

这种方式非常有效,因为当游戏结束时,音乐仍在播放而不是被切断。但是,当选择重试并再次进入场景1时,音乐会继续,但也会再次触发,从而导致重复。这可以继续发生。

有没有办法检测音频是否已播放,以便每次进入第一场时都不会继续触发?

1 个答案:

答案 0 :(得分:0)

创建一个初始化为NO的bool:

bool isMusicPlaying; 

当你开始播放音乐时,将bool设置为YES,并确保在播放时音乐无法启动:

if(isMusicPlaying == NO)
{
    [self runAction:[SKAction playSoundFileNamed:@"YourFileName.extension" waitForCompletion:NO]];
    isMusicPlaying = YES;
}