1

我使用此代码将背景音乐添加到我的游戏关卡中

[self runAction:[SKAction playSoundFileNamed:@"dasdas.mp3" waitForCompletion:NO]];

我希望它在 Game Over 发生时停止。有没有办法取消/停止 SKAction,降低音量,有什么可以阻止它的吗?

我知道我想使用这段代码

代替:

[node runAction:action withKey:@"BackgroundMusicAction"]

然后通过调用 SKNode 的方法停止它:

- (void)removeActionForKey:(NSString *)key;

使用您用于创建操作的键。

但是我如何为第一个代码创建一个密钥 playsoundfilenamed 以及我在 NSString 上键入什么或如何连接它们,我是 NOOB,请帮助

4

2 回答 2

1

你有问题本身的答案。

首先,您需要分配一个密钥

[self runAction:[SKAction playSoundFileNamed:@"dasdas.mp3"
                           waitForCompletion:NO] 
        withKey: @"BackgroundMusicAction"];

现在,您正在使用键BackgroundMusicAction运行一个动作

为了停止此操作,您将调用

[self removeActionForKey:@"BackgroundMusicAction"];
于 2014-05-28T16:06:59.160 回答
0

你可以选择你放的任何东西作为key,只要你使用相同的运行和删除:

SKAction *action = [SKAction playSoundFileNamed:@"dasdas.mp3"
                              waitForCompletion:NO];
[node runAction:action
        withKey:@"MyGameBackgroundMusicAction"];

之后 :

[node removeActionForKey:@"MyGameBackgroundMusicAction"];
于 2014-05-28T16:05:12.930 回答