sceneView.setOnClickListener{//一触碰屏幕就开始动画
sunView.animate().apply {
duration = 1000
rotationY(360f)先旋转360°
}.withEndAction {
sunView.animate().apply {
duration = 1000
rotationY(0f)又回到0°
}.start()
}.start()
}
val sunYStart = sunView.top.toFloat()
val sunYEnd = skyView.bottom.toFloat()
val heightAnimator = ObjectAnimator.ofFloat(sunView, "y", sunYStart, sunYEnd)
.setDuration(3000)
heightAnimator.interpolator = AccelerateInterpolator()//设置动画的加速效果
val sunsetSkyAnimator = ObjectAnimator.ofInt(skyView,
"backgroundColor", blueSkyColor, sunsetSkyColor)
.setDuration(3000)
sunsetSkyAnimator.setEvaluator(ArgbEvaluator())//设置天空由蓝天到黄昏
val nightSkyAnimator = ObjectAnimator.ofInt(skyView, "backgroundColor", sunsetSkyColor, nightSky)
.setDuration(3000)
nightSkyAnimator.setEvaluator(ArgbEvaluator())//设置天空由黄昏到黑夜
val animatorSet:AnimatorSet = AnimatorSet()
animatorSet.play(heightAnimator).with(sunsetSkyAnimator).before(nightSkyAnimator)//设置一系列动画的执行过程
animatorSet.start()