2014-01-11 94 views
5

我在Eclipse中爲Android開發遊戲,我試圖讓圖像平滑地上下翻轉,看起來像是無限地上下浮動。如此,它平滑地翻譯,但在從下往上的過渡中看起來不穩定,反之亦然。我不相信我已經牢牢掌握了德爾塔和德爾塔如何在單位工作。我試着搜索這個網站和谷歌的信息,但是,雖然能夠通過這種方式找到我所有其他問題的解決方案,但無法找到解決方案。在XML中使用平移的平滑浮動動畫

我對XML動畫文件代碼如下:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:fillEnabled="true" 
android:fillAfter="true" > 

<alpha android:fromAlpha="0.0" android:toAlpha="1.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:duration="1000" 
     android:fillAfter="true"/> 

<translate 
android:interpolator="@android:anim/linear_interpolator" 
android:fromYDelta="0%p" 
android:toYDelta="10%p" 
android:duration="2000" 
android:startOffset="0" 
android:repeatCount="infinite"></translate> 

<translate 
android:interpolator="@android:anim/linear_interpolator" 
android:fromYDelta="10%p" 
android:toYDelta="-10%p" 
android:duration="2000" 
android:startOffset="2000" 
android:repeatCount="infinite"></translate> 

</set> 

我試過從10%P做的0%P在第二翻譯,但沒有奏效。從10%p到0%p都沒有。任何幫助將不勝感激。謝謝!

+0

嘗試定製插補()函數 – pskink

回答

11

修正了它!對於那些有興趣的人,我終於找到了解決我的問題。我必須將重複模式設置爲反轉,並只使用一個平移運動。解決的辦法是如下:其插入使用Math.sin

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:fillEnabled="true" 
android:fillAfter="true" > 

<alpha android:fromAlpha="0.0" android:toAlpha="1.0" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:duration="1000" 
    android:fillAfter="true"/> 

<translate 
android:interpolator="@android:anim/linear_interpolator" 
android:fromYDelta="0%p" 
android:toYDelta="10%p" 
android:duration="2000" 
android:startOffset="0" 
android:repeatCount="infinite" 
android:repeatMode="reverse"></translate>