Swift var没有变化

时间:2014-10-25 22:22:02

标签: swift

第一篇文章,在写作之前确实试图寻找答案,但没有一个帖子给了我答案,所以我问。 我打赌它简单,我无法看到。

我得分为var。每次发生碰撞时我想加1。 以下是它的编写方式

var score:Int = 0
override func didMoveToView(view: SKView) {
var scoreOnScreen = SKLabelNode(text:"(\score)")
然后,在碰撞功能中,子弹和敌人被移除后

func bulletDidCollideWithEnemy(bullet: SKSpriteNode, enemyOne: SKSpriteNode) {
  score++
  bullet.removeFromParent() 
  enemyOne.removeFromParent() 
}

但是在屏幕上,它仍然是0。

为什么?

1 个答案:

答案 0 :(得分:1)

您没有在UI上更新score。您只是在使用变量score。在scoreOnScreen中编写代码以更新bulletDidCollideWithEnemy

func bulletDidCollideWithEnemy(bullet: SKSpriteNode, enemyOne: SKSpriteNode) {
  score++
  scoreOnScreen.text = "\(score)"
  bullet.removeFromParent() 
  enemyOne.removeFromParent() 
}