[英]Swift cannot use any variables inside of struct
我有一个结构,轨迹。
struct Trajectory {
var invisibleBall: SKSpriteNode!
var count = Int()
var copiedNodes = Array<SKSpriteNode>()
}
当我尝试使用Trajectory内部的任何变量时出现此错误, Instance member 'invisibleBall' cannot be used on type 'GameScene.Trajectory'
这是为什么。 我以前多次使用这种结构。
Trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")
//this is where i get the error
这是因为您不是从Trajectory
创建实例,而是应该这样做:
let trajectory = Trajectory()
trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")
或者,如果你非常肯定,你会直接使用它从结构,那么你应该声明invisibleBall
作为一个静态属性:
struct Trajectory {
static var invisibleBall: SKSpriteNode!
var count = Int()
var copiedNodes = Array<SKSpriteNode>()
}
那么您将能够:
Trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")
您需要初始化一个Trajectory
对象。 因此,您只需将代码更改为:
let trajectory = Trajectory()
trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.