개발/Android

[프로젝트] 3,4일차 - 원판 멈출 때 위치 받기

레란희 2021. 9. 14. 20:47
val animation: ObjectAnimator = ObjectAnimator.ofFloat(this, "rotation", degree)
    animation.apply {
    duration = getRollDuration()
    interpolator = DecelerateInterpolator()
    addListener(object: Animator.AnimatorListener {
        override fun onAnimationStart(p0: Animator?) {
        }

        override fun onAnimationEnd(p0: Animator?) {
            var degree = rotation%360
            var sweep = 360 / PAINTS.size
            var position = PAINTS.size-1 - (degree/sweep).toInt();
            listener?.onRouletteStop(position)
        }

        override fun onAnimationCancel(p0: Animator?) {
        }

        override fun onAnimationRepeat(p0: Animator?) {
        }
    })
}
animation.start()

코드는 네 줄인데 이틀이나 잡아먹었다.

돌아간만큼 - 된다고 생각하고 해당하는 각도의 위치를 계산하였더니 된다.

 


 

다 써놓고 하는 말이지만 이거를 포스팅으로 써도 될지 확신이 들지 않았다.

하루 삽질하고 오늘 퇴근하면서 주차장에서 번쩍 생각이 들어서 해봤더니.. 어라 되네??

그래서 내가 이해하고 만든 게 아닌...? 근데 결과는 잘 나오는...? 그런 코드라..

그냥 '어 이러면 될 거 같은데?' 했더니 되버린.. 그런 코드다 ㅜㅜ

(하루아침에 이랬나 코딩&디버깅의 대부분이 '엥 혹시?ㅋㅋ'로 때려맞추는 나란 여자..)