Swift中的全局函数调用?如何?

时间:2014-10-19 09:56:23

标签: function swift sprite-kit global skscene

我对类方法调用有一个Swift noobie问题。我正在为我的孩子们使用Sprite Kit构建一个简单的学习应用程序。我在GameScene中定义了一个全局变量scoreCount,我几乎完成了所有游戏逻辑,例如检测正确答案和增加scoreCount。我也有GameOverScene。在两者上我都显示了分数 - 标签。我使用scoreCount参数(在GameScene中)保持得分。但是,由于我对Swift和Sprite Kit很陌生,我想知道如何在GameViewController中更新乐谱标签?所以基本上我想从GameScene调用GameViewController.updateLabels()。

我知道这不是理想的方式,但请分享您的解决方案概念。谢谢!

1 个答案:

答案 0 :(得分:6)

好。 在你的GameViewController中,你必须像这样

在类func中转换你的func
class func yourFunc {
 //your code
}

只需使用以下代码从GameScene中调用它:

GameViewController.yourFunc()

不要忘记你正在创建一个全局功能,因此其中的所有变量也必须是全局的。

对于你的标签(全球):

var label:UILabel = UILabel()
你的GameViewController中的

class GameViewController : UIViewController {
    override func viewDidLoad() {
    super.viewDidLoad()

    label.text = "bonjour" // to set the text
    label.frame = CGRectMake(0, 0, 100, 100) / set the position AND size CGRectMake (x, y, width, heigth)

    label.textColor = UIColor.redColor() // set your color
    label.center = CGPointMake(self.view.frame.width/2, self.view.frame.height/2) // set the position from x=0 and y=0
    self.view.addSubview(label) // add the label to your screen

我希望它会对你有所帮助。