上一次借著實(shí)現(xiàn)一個(gè)隨屏幕旋轉(zhuǎn)的小玩意,了解了iPhone內(nèi)置的加速計(jì)。今天咱們繼續(xù)搞點(diǎn)好玩的東東。按照計(jì)劃這次要看看陀螺儀了。

一個(gè)超級(jí)賤的利用陀螺儀的APP
.png
最終咱們會(huì)完成一個(gè)小球撞壁的小游戲。小球可以感受到重力,從而能夠隨著手機(jī)的運(yùn)動(dòng)來一起運(yùn)動(dòng)。為了增加一點(diǎn)點(diǎn)趣味性,對(duì)小球的運(yùn)動(dòng)范圍做了限制。當(dāng)小球碰到屏幕的邊緣的時(shí)候,會(huì)進(jìn)行反彈,相反方向運(yùn)動(dòng)。咱們一起來看看實(shí)現(xiàn)后的實(shí)況錄像:

ball.gif
今天的代碼比起上次的加速計(jì)稍微多了一點(diǎn)點(diǎn),所以就提供了源碼供大家批評(píng)。同時(shí)由于這部分Swfit和Objective-C略微有不太一樣的地方,所以源碼提供了兩版。
其實(shí)不管是加速計(jì)還是今天的陀螺儀,都是用到了上次說的iOS當(dāng)中的那個(gè)核心運(yùn)動(dòng)框架CoreMotion
。
1. 陀螺儀介紹
陀螺儀主要是用來測(cè)量沿著某個(gè)特定的坐標(biāo)軸旋轉(zhuǎn)速度的。在使用中,陀螺儀始終指向一個(gè)固定的方向,當(dāng)運(yùn)動(dòng)物體的運(yùn)動(dòng)方向偏離預(yù)定方向時(shí),陀螺儀就可以感受出來。
在手機(jī)上,僅用加速度計(jì)沒辦法測(cè)量或重構(gòu)出完整的3D動(dòng)作,測(cè)不到轉(zhuǎn)動(dòng)的動(dòng)作的,加速計(jì)只能檢測(cè)軸向的線性動(dòng)作。但陀螺儀則可以對(duì)轉(zhuǎn)動(dòng)、偏轉(zhuǎn)的動(dòng)作做很好的測(cè)量,這樣就可以精確分析判斷出使用者的實(shí)際動(dòng)作。而后根據(jù)動(dòng)作,可以對(duì)手機(jī)做相應(yīng)的操作。