gpt4 book ai didi

ios - SpriteKit 更新标签

转载 作者:可可西里 更新时间:2023-11-01 02:17:19 25 4
gpt4 key购买 nike

我在下面有这段代码,我只想制作一个简单的加法游戏,当你点击时打印出钱。我将其设置为打印出 currentMoney 变量,即 0 + 5 等等,但我无法让标签随之更改。

我尝试在触摸开始时设置 myLabel.text = String(currentMoney) 但它不会更新 myLabel,我该如何实现?

import SpriteKit

var currentMoney = 0

class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = String(currentMoney)
myLabel.fontSize = 45
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))

self.addChild(myLabel)
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
currentMoney = currentMoney + 5
print(currentMoney)
}

override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
}

最佳答案

您无法更改文本,因为您无法在 moveToView 函数之外访问您的标签。试试这个:

    import SpriteKit

var currentMoney = 0
var myLabel: SKLabelNode! //made it globally

class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = String(currentMoney)
myLabel.fontSize = 45
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))

self.addChild(myLabel)
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

currentMoney = currentMoney + 5
myLabel.text = String(currentMoney)

print(currentMoney)
}

关于ios - SpriteKit 更新标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36089556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com