2014-01-11 5 views
5

Ich entwickle ein Spiel für Android in Eclipse und versuche ein Bild zu bekommen, das sanft nach oben und unten übersetzt wird, damit es unendlich nach oben und unten schwebt. Wie es ist, übersetzt es glatt, aber sieht abgehackt im Übergang von hinunter zu aufwärts und umgekehrt. Ich glaube nicht, dass ich fest im Griff habe, wie von Delta und ToDelta bis zu Einheiten funktionieren. Ich habe versucht, diese Seite zu durchsuchen und nach Informationen zu diesem Thema zu googlen, aber obwohl ich auf diese Weise Lösungen für all meine anderen Probleme finden konnte, war ich nicht in der Lage, eine Lösung dafür zu finden.Fließende Animation mit XML-Übersetzung

Mein Code für die XML-Animationsdatei unter:

<?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> 

Ich habe versucht, von 10% p auf 0% p in den zweiten tun übersetzen, aber das hat nicht funktioniert. Weder von 10% p bis 0% p. Jede Hilfe würde sehr geschätzt werden. Vielen Dank!

+0

try benutzerdefinierte Interpolator die Math.sin interpoliert() -Funktion – pskink

Antwort

11

Fehler behoben! Für die Interessenten habe ich endlich eine Lösung für mein Problem gefunden. Ich musste den Wiederholungsmodus einstellen, um umzukehren und nur die eine Übersetzungsbewegung zu verwenden. Die Lösung ist unter:

<?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>