2017-05-08 69 views
0

我使用Xamarin Forms和RotateTo動畫。有沒有辦法讓旋轉採取最短的路徑/方向?目前,如果角度類似於359,並且新角度爲1,則RotateTo將以逆時針方向繞一個圓圈旋轉至1.我可以更改方向,使其僅以順時針方向旋轉2度?如何改變RotateTo的動畫方向?

+1

你有沒有試過指定負旋轉角度? – Jason

回答

0

您可以檢測到「傳遞0」的情況並專門對待它們。 類似這樣的:

int curAngle = (int)el.Rotation; 
if (curAngle < 10 && angle > 350) 
{ 
    await el.RotateTo(0, 125); 
    el.Rotation = 359.9; 
    await el.RotateTo(angle, 125); 
} 
else if (curAngle > 350 && angle < 10) 
{ 
    await el.RotateTo(360, 125); 
    el.Rotation = 0.1; 
    await el.RotateTo(angle, 125); 
} 
else 
{ 
    await el.RotateTo(angle, 250); 
} 
+1

雖然此代碼可能會回答問題,但提供有關如何解決問題和/或解決問題原因的其他上下文會提高答案的長期價值。請閱讀此[如何回答](http://stackoverflow.com/help/how-to-answer)以提供高質量的答案。 – thewaywewere