我正在Eclipse中开发一款适用于Android的游戏,我试图让图像顺畅地上下翻转,看起来像是无限上下浮动。它是平滑的,但在从向下到向上的过渡中看起来不稳定,反之亦然。我不相信我已经牢牢掌握了德尔塔和德尔塔如何在单位上工作。我已经尝试搜索此网站并在谷歌上获取相关信息,但是,虽然能够通过这种方式找到我所有其他问题的解决方案,却无法为此找到解决方案。
我的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 :(得分:15)
修正了它!对于那些感兴趣的人,我终于找到了解决问题的方法。我不得不将重复模式设置为反向并仅使用一个平移运动。解决方案如下:
<?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>