2010-10-01 121 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每次更新到位置以便下一次旋轉從最後一次旋轉開始。

只是一個猜測:-)