如何在Swift中使用SpriteKit从GameViewController中的GameScene调用函数?

时间:2015-12-18 09:12:23

标签: swift function class

我已经阅读了无数的问题解决方案,没有一个能为我工作。

在GameScene中我有一个功能

(myCondition!="true")
    ? output("false"); doSomethingElse();
    : output("true")

在GameViewController中我有代码

func resetBalloon(){

    balloonNode?.runAction(SKAction.moveTo(balloonLocation!, duration: 0.5))


}

接着是

class GameViewController: UIViewController {
var gameScene = GameScene()

有什么建议吗?提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

如果我没有弄错GameViewController的主要角色只是出现SKScene,而游戏逻辑应该在SKScene。当然可以有例外情况,但我不认为resetBalloon()就是其中之一。

所以你的GameViewController就是这样:

class GameViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
    let scene = GameScene(size: view.bounds.size)
    let skView = view as! SKView
    ...
    skView.presentScene(scene)
  }
}

其他一切(甚至切换到另一个场景)应该在GameScene内。