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

时间:2016-01-25 09:21:02

标签: swift class skspritenode

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

我知道:

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

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

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

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]

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

1 个答案:

答案 0 :(得分:1)

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

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

var array: [LaserBeam] = ...