Kotlin定制二传手

时间:2017-11-02 16:45:14

标签: libgdx kotlin

我试图为libGDX的精灵制作自定义属性设置器。

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

但是它说s必须是Sprite类型,是否有可能做我想做的事情?

1 个答案:

答案 0 :(得分:2)

首先,您应该在自定义getter / setter中使用field而不是sprite。否则将导致递归调用。

编译器告诉您,您尝试做的事情不起作用。您需要重载setter并将其作为常规方法添加到您的类中,如下所示:

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