2010-10-01 70 views
1

我使用轮旋转,并返回到起始位置iPhone

float theAngle = atan2(location.y-self.center.y, location.x-self.center.x); 

在一定的角度旋转的轮子。

self.transform = CGAffineTransformMakeRotation(angleRadians); 

的转变发生。

但是每次用户压制车轮转动它时,它都会回到原来的位置并从那里开始。我该如何阻止这种情况发生?

谢谢!

回答

1

您可能设置车轮的旋转角度值,而不是增加值到当前的角度。

+0

我使用self.transform = CGAffineTransformMakeRotation(angleRadians);用于转换 – Lilz 2010-10-01 07:57:02

+1

该转换总是基于您的视图的原始位置,因此是当前的行为。 – 2010-10-01 07:58:26

+0

你可以提供替代吗? – Lilz 2010-10-01 08:03:39

1

我会推测一个猜测,原因是你正在计算的基础上,原来的位置的车轮,而不是以前的位置的车轮。

ie假定self.center代表原来位置的轮子作为第一次显示,位置代表用户所需的新旋转,并在维基百科上查找atan2(trig不是我的强项:-)我猜你需要自我.location每次更新到位置以便下一次旋转从最后一次旋转开始。

只是一个猜测:-)