0612就業(yè)等多個(gè)文件08知識(shí)補(bǔ)充02加速計(jì)_第1頁
0612就業(yè)等多個(gè)文件08知識(shí)補(bǔ)充02加速計(jì)_第2頁
0612就業(yè)等多個(gè)文件08知識(shí)補(bǔ)充02加速計(jì)_第3頁
0612就業(yè)等多個(gè)文件08知識(shí)補(bǔ)充02加速計(jì)_第4頁
0612就業(yè)等多個(gè)文件08知識(shí)補(bǔ)充02加速計(jì)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

UI高級(jí)加速計(jì)&

CoreMotioniOS學(xué)院李南江iOS中的主要傳感器接近傳感器(貼臉/話筒…)加速度傳感器——又稱加速計(jì)由于能夠帶來了更多的知覺游戲體驗(yàn),基本姿態(tài)識(shí)別和環(huán)境感知功能,目前在智能手機(jī)上應(yīng)用的非常廣泛目前智能手機(jī)中基本配備的都是三維線傳感器,也就是說,用來測(cè)量x,y,z三個(gè)軸上的加速度由于重力分量的干擾,無法僅僅依靠加速度傳感器來檢測(cè)加速方向的角度,也無法得知手機(jī)本身的朝向陀螺儀(導(dǎo)航…)造價(jià)昂貴,目前并未在智能手機(jī)中得到普及基于角動(dòng)量守恒理論,沿著某個(gè)特定的坐標(biāo)軸測(cè)量旋轉(zhuǎn)速率誤差會(huì)累積電子羅盤——又稱磁力計(jì),或電子指南針iOS中的主要傳感器加速度傳感器電子羅盤陀螺儀接近傳感器功能通過測(cè)量三個(gè)軸的加速度大小來判斷人體運(yùn)動(dòng)通過測(cè)量設(shè)備周圍地磁場(chǎng)的強(qiáng)度和方向來判斷朝向通過測(cè)量三個(gè)軸的旋轉(zhuǎn)速率來判斷朝向無須物理接觸就判斷附近物體的存在主要局限性受重力干擾大瞬時(shí)誤差大,誤差大,容易受其他磁場(chǎng)和金屬物體影響主要用于校正其他設(shè)備誤差會(huì)累積,長(zhǎng)時(shí)間讀數(shù)的。準(zhǔn)確性差不通用,大多數(shù)只針對(duì)幾種材質(zhì)應(yīng)用活動(dòng)測(cè)量導(dǎo)航導(dǎo)航智能省電加速計(jì)通過iOS設(shè)備提供的內(nèi)置的加速計(jì),可以確定設(shè)備什么時(shí)候移動(dòng)、移動(dòng)了多少距離以及設(shè)備的方向在應(yīng)用程序中,使用UIAccelerometer類來接收加速計(jì)數(shù)據(jù),通過類方法sharedAccelerometer可以獲得該類的實(shí)例使用加速計(jì)需要設(shè)置其更新間隔和代理,此后,在指定的時(shí)間間隔,會(huì)收到代理方法accelerometer:didAccelerate:的回調(diào)該代理方法收到一個(gè)指向加速計(jì)的指針和一個(gè)指向UIAcceleration對(duì)象的指針該加速對(duì)象包含:x,y,z和timestamp四個(gè)屬性,其中x,y,z是設(shè)備在這三個(gè)方向上的重力加速度,單位g加速計(jì)坐標(biāo)系——注意y軸的方向105加速計(jì)開發(fā)測(cè)試需要注意加速計(jì)的應(yīng)用只能在真機(jī)上開發(fā)測(cè)試加速計(jì)演練演練1在加速計(jì)回調(diào)方法中更新小球視圖位置,運(yùn)行并測(cè)試效果演練2引入QuartzCore.framework方法定義CADisplayLink游戲時(shí)鐘,并在游戲時(shí)鐘指定的更新方法中更新小球視圖位置運(yùn)行并對(duì)比兩種方式的實(shí)現(xiàn)效果加速計(jì)演練小結(jié)加速計(jì)使用步驟1.獲取共享加速計(jì)對(duì)象2.

設(shè)置加速計(jì)數(shù)據(jù)更新頻率3.設(shè)置加速計(jì)對(duì)象代理讓加速計(jì)負(fù)責(zé)速度更新,CADislpayLink負(fù)責(zé)界面更新的好處1.游戲效果更加平滑2.

界面表示和游戲邏輯可以得到拆分,便于游戲擴(kuò)展并引入MVC設(shè)計(jì)模式3.使用時(shí)鐘更新,需要注意小球位置的修正UIAccelerometer雖然已經(jīng)停止更新,但是目前還是有一定數(shù)量的應(yīng)用中使用到了該技術(shù)Vt=V0+g

*

t

加速度是恒定的Vt=V0+g+g+g+g……時(shí)間和加速度都是恒定的手機(jī)上面,加速度不是恒定的,取決于我們晃動(dòng)手機(jī)的傾斜度Vt=V0+a1+a2+a3+a4….時(shí)間是恒定的,加速度會(huì)改變CoreMotion框架在iOS4之前,加速度計(jì)由UIAccelerometer類來負(fù)責(zé)采集工作,而電子羅盤則由Core

Location接管隨著iPhone4的推出,由于加速度計(jì)的升級(jí)以及陀螺儀的引入,與Motion相關(guān)的編程成為重頭戲,所以,蘋果在iOS4中增加了一個(gè)專門負(fù)責(zé)該方面處理的框架——Core

Motion

FrameworkCore

Motion不僅能夠提供實(shí)時(shí)的加速度值和旋轉(zhuǎn)速度值,更重要的是,蘋果在其中集成了很多算法,可以直接輸出把重力加速度分量剝離的加速度,省去你的高通濾波操作,以及提供給你一個(gè)專門的設(shè)備的三維attitude信息Core

Motion框架結(jié)構(gòu)示意圖——Core

Motion獲取數(shù)據(jù)的兩種方式Push(采集所有數(shù)據(jù)——做運(yùn)動(dòng)仿真更好)Pull(在需要時(shí)獲取采樣數(shù)據(jù))Core

Motion

Push演練Core

Motion

Push使用步驟1.實(shí)例化Motion管理器2.判斷傳感器是否可用3.

設(shè)定傳感器數(shù)據(jù)更新頻率4.

啟動(dòng)傳感器更新,Push方式更新數(shù)據(jù)CADisplayLink:負(fù)責(zé)根據(jù)采集到得速度,更改小球的位置CMMontionManager:只負(fù)責(zé)數(shù)據(jù)的采集如果直接在采集到加速計(jì)數(shù)據(jù)時(shí)更新小球位置,小球會(huì)出現(xiàn)虛化。增加新的功能點(diǎn)擊屏幕停止或者啟動(dòng)加速計(jì)數(shù)據(jù)采集使用dispatch_once創(chuàng)建MotionManager的單例好處:線程安全很好滿足靜態(tài)分析器要求和自動(dòng)引用計(jì)數(shù)(ARC)兼容僅需要少量代碼使用方法,在AppDelegate中定義@property

(strong,

nonatomic,

readonly)

CMMotionManager

*sharedMotionManger;調(diào)整代碼從AppDelegate中獲得共享運(yùn)動(dòng)管理器1.獲得AppDelegate的引用2.通過AppDelegate的引用獲得其中只讀的sharedMotionManager對(duì)象引用本節(jié)知識(shí)點(diǎn)回顧使用加速計(jì)可以測(cè)量設(shè)備在x,y,z三個(gè)軸上的加速度利用加速計(jì)可以設(shè)計(jì)制作出用戶交互體感非常優(yōu)秀的游戲作品!UIAccelerometer由于重力分量的干擾已經(jīng)被蘋果廢棄,不過由于其使用簡(jiǎn)單,目前還有不少游戲作品中使用這一技術(shù)CoreMotion是蘋果公司針對(duì)運(yùn)動(dòng)特性新推出的一套框架,經(jīng)過巧妙的構(gòu)思可以非常優(yōu)秀的作品,而且很容易抓住用戶的眼球使用C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論