如何在Swift 3中创建SKSpriteNode的子类
问题描述:
我见过很多类似的问题,但它们似乎都是针对Swift的老版本或者非常不同的情况。无论如何,这些解决方案都不适合我。如何在Swift 3中创建SKSpriteNode的子类
我正在构建一个简单的SpriteKit游戏。基本上,我想要做的就是给SKSpriteNode类添加一个属性:例如
let Ci = SKSpriteNode(imageNamed: "CBlob")
Ci.name = "C1"
Ci.pitch = "middle C"
当前,设置name属性工作正常,因为SKSpriteNode有一个name属性。在Python中,我只能在实例化对象时声明pitch属性。但是,在Swift中添加pitch属性我试图创建一个SKSpriteNode子类。
class Blob : SKSpriteNode {
var pitch = "middle C"
}
但是,我无法弄清楚如何初始化一个Blob实例。例如
let Ci = Blob(imageNamed: "CBlob")
我觉得我已经尝试了super,override等所有组合,但都会导致错误。
非常感谢提前。
答
原来我的代码很好,错误是由于其他原因。如果有人看到这一点 - 它现在是容易的新属性添加到子类 - 你不必faff各地的超级inits等
print(Ci.pitch)
现在会给“*C”。
让Ci = ...你真的需要回到基础。 –
如果可以的话,我会欣赏一些详细说明......我很快就有了新的东西。让出什么问题?我认为让对象仍然可以让一个人改变对象的属性? – modalmusic
你的代码应该可以工作。有什么问题? – 0x141E