W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
現(xiàn)在你懂得了在3D空間的一些圖層布局的基礎(chǔ),我們來試著創(chuàng)建一個固態(tài)的3D對象(實際上是一個技術(shù)上所謂的空洞對象,但它以固態(tài)呈現(xiàn))。我們用六個獨立的視圖來構(gòu)建一個立方體的各個面。
在這個例子中,我們用Interface Builder來構(gòu)建立方體的面(圖5.19),我們當然可以用代碼來寫,但是用Interface Builder的好處是可以方便的在每一個面上添加子視圖。記住這些面僅僅是包含視圖和控件的普通的用戶界面元素,它們完全是我們界面交互的部分,并且當把它折成一個立方體之后也不會改變這個性質(zhì)。
圖5.20 正面朝上的立方體
從這個角度看立方體并不是很明顯;看起來只是一個方塊,為了更好地欣賞它,我們將更換一個不同的視角。
旋轉(zhuǎn)這個立方體將會顯得很笨重,因為我們要單獨對每個面做旋轉(zhuǎn)。另一個簡單的方案是通過調(diào)整容器視圖的sublayerTransform
去旋轉(zhuǎn)照相機。
添加如下幾行去旋轉(zhuǎn)containerView
圖層的perspective
變換矩陣:
perspective = CATransform3DRotate(perspective, -M_PI_4, 1, 0, 0);
perspective = CATransform3DRotate(perspective, -M_PI_4, 0, 1, 0);
這就對相機(或者相對相機的整個場景,你也可以這么認為)繞Y軸旋轉(zhuǎn)45度,并且繞X軸旋轉(zhuǎn)45度。現(xiàn)在從另一個角度去觀察立方體,就能看出它的真實面貌(圖5.21)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: