0
我使用Xamarin Forms和RotateTo动画。有没有办法让旋转采取最短的路径/方向?目前,如果角度类似于359,并且新角度为1,则RotateTo将以逆时针方向绕一个圆圈旋转至1.我可以更改方向,使其仅以顺时针方向旋转2度?如何改变RotateTo的动画方向?
我使用Xamarin Forms和RotateTo动画。有没有办法让旋转采取最短的路径/方向?目前,如果角度类似于359,并且新角度为1,则RotateTo将以逆时针方向绕一个圆圈旋转至1.我可以更改方向,使其仅以顺时针方向旋转2度?如何改变RotateTo的动画方向?
您可以检测到“传递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);
}
虽然此代码可能会回答问题,但提供有关如何解决问题和/或解决问题原因的其他上下文会提高答案的长期价值。请阅读此[如何回答](http://stackoverflow.com/help/how-to-answer)以提供高质量的答案。 – thewaywewere
你有没有试过指定负旋转角度? – Jason