我正在寫一個iPhone應用程序,並且我有一張我想要向外旋轉的圖像。我可以使用CGAffineTransformMakeRotation旋轉視角超過360度嗎?
目前我的代碼看起來像這樣(包裹在beginAnimations/commitAnimations塊):
scale = CGAffineTransformScale(CGAffineTransformIdentity, 5.0f, 5.0f);
swirl = CGAffineTransformRotate(scale, M_PI);
[player setTransform:swirl];
[player setAlpha:0.0f];
但我發現,如果我試圖改變旋轉的,比如說角度,4 * M_PI,它根本不旋轉。是否可以使用CGAffineTransformRotate獲得720˚的旋轉,還是必須切換到其他技術?
如果我不得不切換到另一種技術,你會推薦使用另一個線程(或計時器)來自己做動畫,還是OpenGL會是更好的路線?
謝謝,
布萊克。
很酷。這似乎正在做我所希望的,而且我想我也可以爲它添加縮放轉換,並自行獲取通知給我的課程。 謝謝! – bwinton 2009-02-12 21:02:10
說你必須將動畫分成半圈旋轉是不正確的。看到我的答案。 – mahboudz 2009-09-14 19:29:37
如果您依賴CATransform3D作爲您正在動畫的值,那麼確實如此。我沒有想過你的方法,使用核心動畫爲變換結構字段提供的關鍵路徑擴展。你是對的,這可能是一個更清晰的方法來解決這個問題。 – 2009-09-14 21:36:21