2016-01-13 4 views
0

У меня есть 2 метки, которые добавляются, когда проигрыватель проигрывает; однако при перезапуске игры остается 1 ярлык. Я не вижу никакого кода, в котором ярлык можно было бы продублировать случайно.Swift SpriteKit Ярлык не удаляется

Добавление метки:

func getScores(x: SKScene) { 

    //HighScore 
    if currentScore > highScore 
    { 
     Defaults.setInteger(currentScore, forKey: "High Score") 
     //High Score Particles 
     //highScoreParticle() 
    } 

    //High Score 
    highScoreLabel  = UILabel(frame: CGRect(x: x.frame.midX - 100 , y: x.frame.midY + 70, width: 200, height: 50)) 
    highScoreLabel.textAlignment = NSTextAlignment.Center 
    highScoreLabel.text = "HighScore: \(Defaults.valueForKey("High Score")!)" 
    highScoreLabel.font = UIFont(name: "Helvetica Neue UltraLight", size: 30) 
    highScoreLabel.textColor = UIColor.whiteColor() 
    x.view?.addSubview(highScoreLabel) 

    //Current Score 
    currentScoreLabel  = UILabel(frame: CGRect(x: x.frame.midX - 50 , y: x.frame.midY, width: 100, height: 50)) 
    currentScoreLabel.textAlignment = NSTextAlignment.Center 
    currentScoreLabel.text = "Score: \(currentScore)" 
    currentScoreLabel.font = UIFont(name: "Helvetica Neue UltraLight", size: 30) 
    currentScoreLabel.textColor = UIColor.whiteColor() 
    x.view?.addSubview(currentScoreLabel) 
} 

Удаление метки:

func resetGame(scene: SKScene) { 

    //Removes Labels 
    startLabel.removeFromSuperview() 
    currentScoreLabel.removeFromSuperview() 
    highScoreLabel.removeFromSuperview() 

    //Remove everything off scene 
    scene.removeAllChildren() 
    scene.removeAllActions() 

    //Reset Variables 
    currentScore = 0 
} 

highScoreLabel не удаляются со сцены

+2

Stackoverflow - это форум _not_. Не редактируйте заголовок вопроса, чтобы добавить материал, например, теги или [решено]. Также не редактируйте свой вопрос, чтобы вставить свое решение. Для чего нужны _answers_. См. [Faq]. – dandan78

ответ

0

Вы хотите добавить UILabel к сцены просмотра контроллера. сцена не имеет контроля над этим. вам нужно создать SKLabelNode и добавить его в сцену, используя addChild

+0

Спасибо, что ты отлично справился! – Mus

+0

Несмотря на то, что все хорошо работает сейчас, почему текущий ярлык оценки удаляется правильно, если я делаю то же самое? – Mus

+0

действительно не мог рассказать вам :) – hamobi

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