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 Sprite
Kann ich tun, was ich versuche?
Antworten:
2 für die Antwort № 1Zunä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)) }