2017-01-26 47 views
0

我一直在寫一個帶有一些額外函數和變量的SKSpriteNode子類的遊戲。我想設置一些變量在創建對象時,如向Swift中的子類添加新參數

let mySprite = MySubclass (width: 24, height 33) 

我不知道這是可能的,這意味着我可能會調用子類的methos設置在瓦爾一個單獨的舞臺,有點笨重:

let mySprite = MySubclass() 
mySprite.setSize(24, height: 33) 

任何想法如何以更優雅的方式做到這一點?

非常感謝, 千瓦

回答

2

這是很基本的OOP。下面是你如何在Swift中做到的:

class MySubClass: SKSpriteNode { 
    var width: CGFloat  // Declare your own properties 
    var height: CGFloat  // ... 

    init(width: CGFloat, height: CGFloat) { 
     self.width = width // set up your own properties 
     self.height = height // ... 
     super.init()   // call up to the super-class's init to set up its properties 
    } 
} 

你讀過蘋果的書The Swift Programming Language?它是免費的,並清楚地涵蓋了這...

+0

非常感謝。我從她那裏讀到了一些表明這不可能完成的事情,但我肯定誤解了這個帖子。 – Kwangle