Spritekit 添加音效

Posted

技术标签:

【中文标题】Spritekit 添加音效【英文标题】:Spritekit adding a sound effect 【发布时间】:2014-02-27 00:53:40 【问题描述】:

我正在尝试在触摸屏幕时为游戏添加声音效果。我已经有一个可以移动角色的 touchesBegan 方法,我可以把:

[SKAction playSoundFileNamed:@"sfx.wav" waitForCompletion:NO];

进入那个方法还是我需要做一个新方法。另外,我应该在我的项目中将声音文件存储在哪里?它是否有特定的位置,或者它可以在任何地方?

【问题讨论】:

【参考方案1】:

试试这个:

首先确保您已输入self.userInteractionEnabled = YES;

点击屏幕时触摸委托方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

      // For play your wav file here
      [self runAction:[SKAction playSoundFileNamed:@"sfx.wav" waitForCompletion:NO]];

      // if you want do with touches point do here 
      for (UITouch *touch in touches) 
        CGPoint touchLocation = [touch locationInNode:self];
        //do your stuff here
      

我应该将声音文件存储在我的项目中的什么位置?

你必须把它放在你应用程序的文档目录中,意思是资源文件夹。

【讨论】:

【参考方案2】:

随便放

[self runAction:[SKAction playSoundFileNamed:@"sfx.wav" waitForCompletion:NO]];

插入touchesBegan方法。

您可以将音频文件放在项目中的任何位置。

【讨论】:

【参考方案3】:

您的代码有效。 对于文件,您可以将其放在项目中的任何位置。 你甚至可以创建一个像“sfx”之类的新文件夹,之后你不需要担心它的路径(你不必把文件夹放在路径中,如果你把你的“sfx.wav”放在sfx文件夹,你不需要像“sfx/sfx.wav”那样加载它)呵呵,这就是我上次做的。只是一个抬头。 顺便说一句,您确实需要包含该 .wav 祝你好运

【讨论】:

以上是关于Spritekit 添加音效的主要内容,如果未能解决你的问题,请参考以下文章

如果 spritekit 中正在播放来自另一个应用程序的音乐,如何使 AVAudioPlayer 静音

为啥我的声音让我的游戏在 Swift Spritekit 中滞后?

如何在 Swift 和 SpriteKit 中添加涟漪效果

SpriteKit:向场景中添加多个 SKSpriteNode

SpriteKit - 节点未添加到 SKCameraNode - Swift

SpriteKit: NSInvalidArgumentException - 试图添加一个已经有父节点的 SKNode