2012-06-09 18 views
4

看來我們可以顯示圖層,甚至在Core Animation中爲不同的圖層使用不同的zPosition - 但是,確實沒有簡單的方法來顯示某些厚度的東西嗎?核心動畫和CALayer和CATransformLayer可以顯示「厚度」的對象嗎?

例如,一片厚度爲2mm的奶酪,或者是一個按鈕或一個傾斜的硬幣,因此顯示1mm的厚度?不知何故,厚度必須通過添加另一層來模擬厚度來顯示?所以這個2.5D是一個更基本的2.5D,它是一個限於平面2D圖像的3D世界......而一些2.5D,比如一些RPG遊戲(如Diablo),有時也被稱爲2.5D,但是物體在那些情況下(如建築物)實際上可以具有寬度,長度和高度(厚度)。所以實際上,這些對我而言實際上是3D的......除了大多數物體位於側向傾斜的2D地圖上。

所以回到剛纔的問題......這是真的,在iOS上,它是相當限於2D平面圖像的3D世界,去任何width X length X height將需要進入的OpenGL/CAEAGLLayer

+0

是不是2.5D厚度通常由陰影圖像僞造? ''zPosition''控制組合順序,我不認爲它與3D效果有關係。 –

+0

與CATransformLayer,zPosition實際上可以影響圖像的z座標 –

回答

2

是的,這是真的。核心動畫執行2D對象(圖層)的3D動畫。您可以通過構建複雜的對象組合來模擬厚度,在這些對象組合中爲對象邊緣添加圖層,但這很痛苦。

OpenGL是一個更好的3D平臺。

+0

是。根據你試圖模擬厚度的情況,額外的圖層可能工作得很好 - 比方說,對於快速投幣,你可能只需將一些圓圈疊加在一起,並在z位置有所不同,然後翻轉羣組。如果動畫短小,用戶可能會注意到厚度的錯覺,但可能無法捕捉到你如何製作它的技巧。 – rickster