轮旋转,并返回到起始位置iPhone
问题描述:
float theAngle = atan2(location.y-self.center.y, location.x-self.center.x);
在一定的角度旋转的*。
和
self.transform = CGAffineTransformMakeRotation(angleRadians);
的转变发生。
但是每次用户压制车轮转动它时,它都会回到原来的位置并从那里开始。我该如何阻止这种情况发生?
谢谢!
答
您可能设置车轮的旋转角度值,而不是增加值到当前的角度。
答
我会推测一个猜测,原因是你正在计算的基础上,原来的位置的车轮,而不是以前的位置的车轮。
ie假定self.center代表原来位置的*作为第一次显示,位置代表用户所需的新旋转,并在*上查找atan2(trig不是我的强项:-)我猜你需要自我.location每次更新到位置以便下一次旋转从最后一次旋转开始。
只是一个猜测:-)
我使用self.transform = CGAffineTransformMakeRotation(angleRadians);用于转换 – Lilz 2010-10-01 07:57:02
该转换总是基于您的视图的原始位置,因此是当前的行为。 – 2010-10-01 07:58:26
你可以提供替代吗? – Lilz 2010-10-01 08:03:39