float theAngle = atan2(location.y-self.center.y, location.x-self.center.x);
在一定的角度旋轉的輪子。
和
self.transform = CGAffineTransformMakeRotation(angleRadians);
的轉變發生。
但是每次用戶壓制車輪轉動它時,它都會回到原來的位置並從那裏開始。我該如何阻止這種情況發生?
謝謝!
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