/ / कोटलिन कस्टम सेटर - libgdx, कोटलिन

कोटलिन कस्टम सेटर - libgdx, कोटलिन

मैं libgDX के sprite के लिए एक कस्टम प्रॉपर्टी सेटटर बनाने की कोशिश कर रहा हूं।

var sprite : Sprite? = null
get() = sprite
set(s : String) { sprite = Sprite(Texture(s)) }

लेकिन यह कह रहा है कि s प्रकार का होना चाहिए Spriteक्या यह करना संभव है कि मैं क्या करने की कोशिश कर रहा हूं?

उत्तर:

जवाब के लिए 2 № 1

सबसे पहले आप का उपयोग करना चाहिए field के बजाय sprite अपने कस्टम गेटर / सेटर के अंदर। अन्यथा रिकर्सिव कॉल परिणाम होंगे।

आप जो करने की कोशिश कर रहे हैं वह काम नहीं करता है, क्योंकि संकलक आपको बताता है। आपको सेटर को अधिभारित करने और इसे अपनी कक्षा में सामान्य विधि के रूप में जोड़ने की आवश्यकता है:

setSprite(s : String) { sprite = Sprite(Texture(s)) }