我正在使用Sprite Kit。我想用设置类来更改主类的按钮图片。我如何使扩展中的变量(来自设置类)可用于主类?如何访问另一个类中的扩展的var?
这里是扩展:
extension ChangingDots {
override open func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
for touch in touches{
let locationUser = touch.location(in: self)
if atPoint(locationUser) == DCButton {
var blackdot = SKSpriteNode(imageNamed: "AppIcon") //<--var I want to use
}
}
}
}
这里是主类的用途:
blackdot.setScale(0.65)
blackdot.position = CGPoint(x: CGFloat(randomX), y: CGFloat(randomY))
blackdot.zPosition = 1
self.addChild(blackdot)
没有人有从另一个改变一个类的按钮图片更好的主意?
我以为你不能在扩展中做存储的属性,只能计算 – Knight0fDragon
我得到的错误:使用未声明的类型'类型'。在行var黑点:类型?@ Arrabidas92 – Jay23
您需要替换类型与您的希望类型SKSpriteNode返回 – Arrabidas92