2014-02-27 95 views
4

我试图在触摸屏幕时向游戏添加声音效果。我已经有一个移动的字符的touchesBegan方法,我可以把:Spritekit添加声音效果

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

到该方法或做我需要做的新方法。另外,我应该在哪里存储声音文件到我的项目中?有没有一个地方,或者它可以在任何地方?

回答

6

只要把

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

线为touchesBegan方法。

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

8

试试这个:

首先要确保你已经把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 
     } 
} 

我应该在哪里存储我的项目中的声音文件?

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

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