2011-06-08 57 views
3

我使用CALayer's在iphone中創建了一個3D立方體。現在我想在用戶雙擊它時旋轉該立方體(CALayer90˚3D立方體問題!第1部分

我能夠旋轉該立方體(CALayer)至90˚一次,但當我雙擊立方體(CALayer)不旋轉。

這裏是我用來旋轉立方體(CALayer

CATransform3D x = CATransform3DRotate(currentLayer.sublayerTransform, M_PI/2, 0, 0, 1); 
currentLayer.transform = x; 

誰能幫助這個代碼。我做錯了什麼。


PS。對於誰是想知道如何獲得了學位sign,然後這裏的人是招

選項 + ķ

回答

2

它,因爲你沒有改變旋轉角度....瞭解這讓假設你每次傳遞M_PI/2給該方法....所以CATransform3DRotate不會將它旋轉到next 90˚,而是將圖層旋轉到指定的角度,在這種情況下它是90 ...所以你沒有得到任何chage,因爲它已經在90˚ .....所以得到正確的結果這樣做

static float angle = M_PI/2;//dont make it static rather make it a global variable 
angle += M_PI/2; 
CATransform3D x = CATransform3DRotate(currentLayer.sublayerTransform,angle, 0, 0, 1); 
currentLayer.transform = x; 
+1

但我認爲這是'CATransform3DMakeRotation'的情況下 – Robin 2011-06-08 08:25:32

+0

你也可以找到使用CATransformLayer(如果不是已經)將有所幫助。 – Marc 2012-12-03 09:32:37