Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Libgdx 科特林定制设置器_Libgdx_Kotlin - Fatal编程技术网

Libgdx 科特林定制设置器

Libgdx 科特林定制设置器,libgdx,kotlin,Libgdx,Kotlin,我正在尝试为libGDX的sprite创建一个自定义属性设置器 var sprite : Sprite? = null get() = sprite set(s : String) { sprite = Sprite(Texture(s)) } 但是它说的是s必须是Sprite类型,可以做我想做的事情吗?首先,您应该在自定义getter/setter中使用而不是Sprite。否则将导致递归调用 正如编译器告诉您的,您试图做的事情不起作用。您需要重载setter并将其作为普通方法

我正在尝试为libGDX的sprite创建一个自定义属性设置器

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

但是它说的是
s
必须是
Sprite
类型,可以做我想做的事情吗?

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

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

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

很高兴你提到了递归调用+1我只是在读关于这个领域的书。那么好吧,谢谢你的帮助。@WilliMentzel:谢谢,很高兴你喜欢;-)