2014-10-19 3 views
1

У меня есть быстрый вопрос noobie о вызовах метода класса. Я создаю простое учебное приложение для своих детей с помощью Sprite Kit. У меня есть глобальная переменная scoreCount, определенная в GameScene, где я в значительной степени выполняю всю свою логику игры, такую ​​как обнаружение правильного ответа и increment scoreCount. У меня также есть GameOverScene. На обоих я показываю метку Score. Я держу подсчет баллов с параметром scoreCount (в GameScene). Однако, поскольку я совершенно новичок в Swift и Sprite Kit, мне интересно, как мне обновить метку оценки в GameViewController? Поэтому в основном я хотел бы назвать GameViewController.updateLabels() из GameScene.Глобальный вызов функции в Swift? Как?

Я знаю, что это не идеальный способ, но, пожалуйста, поделитесь своей концепцией решения. Благодаря!

ответ

5

Хорошо. В вашем 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 

Я надеюсь, что это поможет.

+0

Это помогает мне, но я все еще придерживаюсь того, что не могу представить свои ярлыки в качестве глобальных переменных. Если я перемещаю ярлык вне класса: @IBOutlet weak var livesCounter: UILabel! Я получаю: «Только свойства экземпляра могут быть объявлены« IBOutlet » – user3673836

+0

Используете ли вы раскадровку? – Haox

+0

Да, создал ярлыки на раскадровке и перетащил их в код с помощью помощника редактора. – user3673836

Смежные вопросы