gpt4 book ai didi

swift - 我想在它声明的函数之外引用一个不可变变量

转载 作者:行者123 更新时间:2023-11-28 07:36:10 25 4
gpt4 key购买 nike

我是 swift 的新手,我尝试在声明的函数之外引用我的不可变变量 let button1 = SKLabelNode(fontNamed: "Bulky Pixels")

这是不可变变量所在的函数:

func runMathsProblem(){
currentGameState = gameSate.mathSlove

if currentGameState == gameSate.mathSlove{
self.speed = 0
}

let button1 = SKLabelNode(fontNamed: "Bulky Pixels")
button1.name = "Button1"
button1.text = "1"
button1.fontSize = 110
button1.fontColor = SKColor.white
button1.zPosition = 120
button1.position = CGPoint(x: self.size.width * 0.3, y: self.size.height * 0.32)
self.addChild(button1)
}

我希望能够在函数中访问 button1:

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch: AnyObject in touches{
let pointOfTouch = touch.location(in: self)

**//I want to refer to it like this**
if button1.contains(pointOfTouch){
self.speed = 1
}
}
}

有没有办法使用我给它的名字来引用它?

我已经尝试在网上寻找方法,但我不确定我是否在寻找正确的问题。

我希望这足以让你们理解我正在尝试做的事情。

最佳答案

像这样在函数外声明

var button1:SKLabelNode!

然后

button1 = SKLabelNode(fontNamed: "Bulky Pixels")

但请注意,您必须在 touchesMoved 中的任何事件之前调用 runMathsProblem 或使其成为可选的,例如

var button1:SKLabelNode?

关于swift - 我想在它声明的函数之外引用一个不可变变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146457/

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