创建一个 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] = ...
我正在尝试在 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] = ...