0
我嘗試在Android中製作旋轉游戲的遊戲。 我發現很難以正確的方式旋轉圓圈。 我很想幫助如何旋轉圓圈並停止它,以便每次都得到不同的結果。 目前它已經確定了一定的時間並返回到開頭。 如果我通過這個msmallWheelBack.clearAnimation()停在它的中間,它將返回到一輪的開始。 非常感謝您的幫助。輪盤賭動漫旋轉得到它停止的位置Android
在我的代碼:
Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate_around_center_point);
mframeWheelBig.startAnimation(animation);
的動畫XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<rotate
android:duration="2500"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:toDegrees="360"
android:fromDegrees="0"
android:fillAfter="true"
android:fillBefore="true"
android:fillEnabled="true"/>
</set>
就像我說的,這是我如何停止動畫
mframeWheelBig.clearAnimation();
的一個大問題是,它在阻止它開始 – gal
動畫停止在它開始的地方的地方,因爲你所定義的360度,這正好是一個完整的轉身結束位置。通過爲結束位置提供隨機值,這不會發生。 – Ridcully
int MIN_TURNS = 3; int MORE_TURNS = 3; float toDegrees = 360 * MIN_TURNS +(float)Math.random()* 360f * MORE_TURNS; Log.i(「toDegrees」,「」+ toDegrees);動畫動畫= new RotateAnimation(0,toDegrees,200,200); animation.setInterpolator(new AccelerateDecelerateInterpolator()); animation.setDuration(1000); animation.setFillAfter(true); – gal