第一篇文章,在写作之前确实试图寻找答案,但没有一个帖子给了我答案,所以我问。 我打赌它简单,我无法看到。
我得分为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。
为什么?
答案 0 :(得分:1)
您没有在UI上更新score
。您只是在使用变量score
。在scoreOnScreen
中编写代码以更新bulletDidCollideWithEnemy
func bulletDidCollideWithEnemy(bullet: SKSpriteNode, enemyOne: SKSpriteNode) {
score++
scoreOnScreen.text = "\(score)"
bullet.removeFromParent()
enemyOne.removeFromParent()
}