我正在尝试为 libGDX 的 Sprite 制作一个自定义属性 setter 。
var sprite : Sprite? = null
get() = sprite
set(s : String) { sprite = Sprite(Texture(s)) }
但它说
s
必须是 Sprite
类型,是否可以做我想做的事情? 最佳答案
首先,您应该在自定义 getter/setter 中使用 field
而不是 sprite
。否则将导致递归调用。
正如编译器告诉您的那样,您尝试执行的操作不起作用。您需要重载 setter 并将其作为普通方法添加到您的类中,如下所示:
setSprite(s : String) { sprite = Sprite(Texture(s)) }
关于libgdx - Kotlin 自定义 setter ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47080496/