/ / Kotlin Custom Setter - libgdx, kotlin

Kotlin benutzerdefinierte Setter - libgdx, Kotlin

Ich versuche, einen benutzerdefinierten Eigenschaftssetzer für das Sprite von libGDX zu erstellen.

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

Aber das sagt es s muss vom Typ sein SpriteKann ich tun, was ich versuche?

Antworten:

2 für die Antwort № 1

Zunächst sollten Sie verwenden field Anstatt von sprite in Ihrem benutzerdefinierten Getter / Setter. Ansonsten sind rekursive Aufrufe das Ergebnis.

Was Sie versuchen zu tun, funktioniert nicht, wie der Compiler Ihnen sagt. Sie müssen den Setter überladen und als normale Methode in Ihre Klasse einfügen:

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