2017-09-09 36 views
0

我見過很多類似的問題,但它們似乎都是針對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等所有組合,但都會導致錯誤。

非常感謝提前。

+0

讓Ci = ...你真的需要回到基礎。 –

+0

如果可以的話,我會欣賞一些詳細說明......我很快就有了新的東西。讓出什麼問題?我認爲讓對象仍然可以讓一個人改變對象的屬性? – modalmusic

+0

你的代碼應該可以工作。有什麼問題? – 0x141E

回答

0

原來我的代碼很好,錯誤是由於其他原因。如果有人看到這一點 - 它現在是容易的新屬性添加到子類 - 你不必faff各地的超級inits等

print(Ci.pitch) 

現在會給「中央C」。

相關問題