2017-11-02 7 views
3

libGDX의 스프라이트에 대한 커스텀 속성 세터를 만들려고합니다.Kotlin 커스텀 설정자

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

하지만 s 유형 Sprite이어야한다는 것, 그것이 내가 할 노력하고있어 무엇을 할 수 있습니까?

답변

1

먼저 getter/setter 내에 sprite 대신 field을 사용해야합니다. 그렇지 않으면 재귀 호출이 결과가됩니다.

컴파일러에서 알려주려는 것처럼 작동하지 않습니다. 세터를 오버로드하여 다음과 같이 클래스에 정상적인 메소드로 추가해야합니다.

+1

아주 재귀 호출을 언급하는 것이 좋습니다. +1 –

+0

방금 ​​전 현장에 관해 읽었습니다. 그럼 좋았어, 도와 줘서 고마워. – Aleb1an

+0

@WilliMentzel : 감사합니다. 다행 이군요 ;-) – s1m0nw1