我对类方法调用有一个Swift noobie问题。我正在为我的孩子们使用Sprite Kit构建一个简单的学习应用程序。我在GameScene中定义了一个全局变量scoreCount,我几乎完成了所有游戏逻辑,例如检测正确答案和增加scoreCount。我也有GameOverScene。在两者上我都显示了分数 - 标签。我使用scoreCount参数(在GameScene中)保持得分。但是,由于我对Swift和Sprite Kit很陌生,我想知道如何在GameViewController中更新乐谱标签?所以基本上我想从GameScene调用GameViewController.updateLabels()。
我知道这不是理想的方式,但请分享您的解决方案概念。谢谢!
答案 0 :(得分:6)
好。 在你的GameViewController中,你必须像这样
在类func中转换你的funcclass 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
我希望它会对你有所帮助。