Ich animiere ein Pendel, das von 0 Grad auf maximal 200 Grad schwingt und dann wieder zurück. Das Problem ist, dass, wenn das Pendel über 180 Grad geht, es auf dem kürzesten Weg, der im Uhrzeigersinn fortgesetzt werden soll, auf 0 zurückkehrt. Und ich möchte, dass es gegen den Uhrzeigersinn geht. Hier ist mein Code: ('rechts' ist ein boolescher Wert, der WAHR ist, wenn das Pendel von links nach rechts schwingt)
%Vor%Irgendwelche Ideen, wie ich das schaffen kann? Es ist das letzte Stück meines Swingometer-Puzzles, das ansonsten großartig funktioniert: D Danke!
Michael
Versuchen Sie, etwas wie
zu setzen %Vor%Mithilfe von Wertumwandlungsfunktionen können Animationen die Transformationseigenschaft eines Layers mithilfe beliebiger Transformationen jeder Komponente (keine Normalisierung auf 360 °) und im Normalfall, wenn mehrere Animationen gleichzeitig angewendet werden, bewirken.
Sie verwenden eine Wertumwandlungsfunktion, die von 0 ° bis 180 ° um die z-Achse rotiert, indem Sie eine CAValueTransform-Funktion erstellen, die kCAValueFunctionRotateZ spezifiziert und dann eine Animation mit einem fromValue von 0, einem toValue von M_PI erstellt und die Animation festlegt valueTransform-Eigenschaft für die Wertumwandlungsinstanz.
Tags und Links objective-c iphone core-animation core-graphics rotation