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

Create a class which inherits from an array of SKSpriteNode in Swift

我正在尝试在 SpriteKit 中创建一个 class,但我不知道是否可行。

我知道:

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

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

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

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]

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

在那种情况下,我建议你完全不同地做。通过这种方式,我们以更具体和 easy-to-use 的方式表示问题:

class LaserBeam {
    var emitter: SKSpriteNode
    var receiver: SKSpriteNode
    var isActive: Bool
}
class LaserNode: SKSpriteNode {
    var temperature: CGFloat
}

var array: [LaserBeam] = ...