SKAction.playSoundFileNamed适用于问题

时间:2016-03-09 17:17:29

标签: xcode swift sprite-kit

我正在使用 runAction(SKAction.playSoundFileNamed()在我的游戏中添加声音效果。但Xcode在此时发现了一个问题。播放声音时,屏幕滞后。我使用< strong> self.runaction(SKAction.playSoundFileNamed(),仍然不起作用。我该如何解决这个问题?这是我的代码:

class Player
{
    public string Name {get; protected set;}
    public Weapon CurrentWeapon {get; protected set;}
}

3 个答案:

答案 0 :(得分:1)

在初始化课程时创建SKAction,以便缓存声音文件,

class MyClass
{
  let tink = SKAction.playSoundFileNamed("Tink", waitForCompletion: false);

  .....
  if(nodeTouched == ball)
  {

     runAction(tink)
  }
}
然而,我会进一步编辑它。球应该是子类,然后你可以将你的触摸代码留在你的球内,并避免你的if(nodeTouched == ball)

class Ball : SKNode
{
  let tink = SKAction.playSoundFileNamed("Tink", waitForCompletion: false);

  .....
  override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)
  {

     runAction(tink)
  }
}

答案 1 :(得分:1)

我遇到了SKAction.playsoundFileNamed的问题,代码还可以,但是当我尝试在iPhone上测试游戏时,声音无法正常工作。所以,我打开了项目属性,Build Phases选项卡,在Copy Bundle Resources中我添加了声音。它对我有用! ProjectProperties

答案 2 :(得分:0)

删除Xcode中的当前声音文件夹。打开声音的文件位置,然后创建新文件夹并将其命名为声音或任何您喜欢的名称,然后移动新创建的文件夹中的所有声音。最后将整个文件夹拖放到Xcode中。重点是首先将所有声音效果放在一个文件夹中,然后将整个文件夹移动到Xcode中。如果需要,请务必检查复印件。