Котлинский пользовательский сеттер

Я пытаюсь создать настраиваемый набор свойств для спрайта libGDX.

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

Но это говорит о том, что s должно быть типа Sprite , можно ли делать то, что я пытаюсь сделать?

Прежде всего, вы должны использовать field вместо sprite внутри своего пользовательского getter / setter. В противном случае будут рекурсивные вызовы.

То, что вы пытаетесь сделать, не работает, как говорит компилятор. Вам нужно перегрузить setter и добавить его как обычный метод в ваш класс следующим образом:

 setSprite(s : String) { sprite = Sprite(Texture(s)) } 
Intereting Posts
Как использовать Anko DSL внутри фрагмента? Быстрый способ инициализации дочернего класса Kotlin с свойствами экземпляра родительского класса Создание экземпляра фрагмента в котлине Изменить текучесть <Список <Obj1 >> в текущую <Список <Obj2 >> в комнате У Kotlin 1.2.10 и Java 9 есть противоположные правила относительно автоматических модулей? Настройка высоты и ширины изображения Anko для match_parent SonarQube – Android не работает для gradle 3.0.0 Spring Boot ThymeLeaf и Kotlin – значение флажка не передается контроллеру? Простой калькулятор, модульное тестирование с использованием KOTLIN со Spek (код выхода -1) В чем разница между обработкой полей через «accessor» и «copy» Как использовать дженерики в сопутствующем объекте Как инициировать массив строк в Котлине? Всплывающее диалоговое окно завершения работы Kotlin после ввода «объекта». Каковы преимущества сопутствующего объекта над простым объектом? Нулевая проверка, если условия