如何访问/影响标签中的值

时间:2018-08-26 16:49:47

标签: swift

所以我仍然是Swift的初学者,我目前正在开发一个游戏,该游戏中我想更改在GameScene中创建的标签中表示的整数

func GUI() {
        let xpLab: SKLabelNode = SKLabelNode(fontNamed: "Copperplate")
        xpLab.fontSize = 14
        xpLab.fontColor = .black
        xpLab.text = "0"
        xpLab.position = CGPoint(x: 300, y: 120)

        cam.addChild(xpLab)

        let moneyLab: SKLabelNode = SKLabelNode(fontNamed: "Copperplate")
        moneyLab.fontSize = 14
        moneyLab.fontColor = .black
        moneyLab.text = "100"
        moneyLab.position = CGPoint(x: 300, y:145)

        cam.addChild(moneyLab)
    }

我想要的是当我的2个精灵节点之间发生碰撞时,框中的数字增加+50。

在我的GameScene.swift中找到的我的碰撞代码如下

 if firstBody.node?.name == "enemy" && secondBody.node?.name == "troop"{
        let enemy = firstBody.node as! Enemy
        let troop = secondBody.node as! Player

        enemy.EnemyHealth -= troop.playerAttack
        troop.playerHealth -= enemy.enemyAttack
        print(enemy.EnemyHealth)
        print(troop.playerHealth)

        troop.physicsBody?.applyImpulse(CGVector(dx: -20, dy: 0))
        enemy.physicsBody?.applyImpulse(CGVector(dx: 20, dy: 0))

        if (enemy.EnemyHealth <= 0) {
            firstBody.node?.removeFromParent()
        } else if (troop.playerHealth <= 0){
            secondBody.node?.removeFromParent()
        }
    }

所以基本上我想要的是当敌人的生命值小于等于0时,标签中的值将增加+50。如果有人知道该怎么做,将不胜感激

0 个答案:

没有答案