在 Swift 中创建一个继承自 SKSpriteNode 数组的类



>我正在尝试在SpriteKit中创建一个类,但我不知道这是否可能。

我知道那件事:

class myClass: SKSpriteNode
{
    var myVar: Int = 0
    var mySecondVar: Int = 0
}

将创建一个继承自 SKSpriteNode 类的类。

然后,为了从这个类创建一个二维数组,我使用这个:

var array = [[myClass]]()

所以我可以添加元素

 var elements = [myClass]()
 elements.append(myClass(imageNamed: "image"))
 elements.append(myClass(imageNamed: "image"))
 array.append(elements)

所以在这里,我可以使用访问myVar和mySecondVar。

 array[x][y].myVar
 array[x][y].mySecondVar

但是我想做的是mySecondVar将是myClass中的一个变量,所以这里没关系,但是我想使用这种语法访问myVar:

 array[x].myVar
 array[x][y].mySecondVar

我不知道我怎么能做到这一点,我试过这个:

 class myClass: [SKSpriteNode]

但它不起作用。你能试着帮我吗?谢谢。

在这种情况下,我建议你完全以不同的方式做。通过这种方式,我们以更具体和易于使用的方式表示问题:

class LaserBeam {
    var emitter: SKSpriteNode
    var receiver: SKSpriteNode
    var isActive: Bool
}
class LaserNode: SKSpriteNode {
    var temperature: CGFloat
}
var array: [LaserBeam] = ...

最新更新