當(dāng)前位置:
首頁(yè) >
加速计使用
發(fā)布時(shí)間:2024/10/12
42
豆豆
一、UIAccelerometer
使用步驟
//1).獲得單例對(duì)象 UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer]; //2).設(shè)置代理 accelerometer.delegate = self; //3).設(shè)置采樣間隔 accelerometer.updateInterval = 1.0/30.0;//1秒鐘采樣30次 //4).實(shí)現(xiàn)代理方法 //acceleration中的x、y、z三個(gè)屬性分別代表每個(gè)軸上的加速度 -(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration;二、Core Motion
在iOS4之前,加速計(jì)由UIAccelerometer類來負(fù)責(zé)采集數(shù)據(jù)。隨著iPhone4的推出,加速計(jì)全面設(shè)計(jì),并引入了陀螺儀。與Motion(運(yùn)動(dòng))相關(guān)的編程稱為了重頭戲。
蘋果特地在iOS4中增加了專門處理Motion的框架CoreMotion.framework。
1.獲取數(shù)據(jù)的兩種方式
1)push
實(shí)時(shí)采集所有數(shù)據(jù)(采集頻率高)
2)pull?
在有需要的時(shí)候,再主動(dòng)去采集數(shù)據(jù)。
2.使用步驟
1)push
//1)創(chuàng)建運(yùn)動(dòng)管理者對(duì)象 CMMotionManager *mgr = [[CMMotionManageralloc] init];//2)判斷加速計(jì)是否可用(最好判斷) if (mgr.isAccelerometerAvailable) { //加速計(jì)可用 }//3)設(shè)置采樣間隔 mgr.accelerometerUpdateInterval = 1.0/30.0; //1秒鐘采樣30次//4)開始采樣(采樣到數(shù)據(jù)就會(huì)調(diào)用handler,handler會(huì)在queue中執(zhí)行) -(void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMAccelerometerHandler)handler;?2)pull
//1)創(chuàng)建運(yùn)動(dòng)管理者對(duì)象 CMMotionManager *mgr = [[CMMotionManageralloc] init];//2)判斷加速計(jì)是否可用(最好判斷) if (mgr.isAccelerometerAvailable) { //加速計(jì)可用 }//3)開始采樣 -(void)startAccelerometerUpdates;//4)在需要的時(shí)候采集加速度數(shù)據(jù) CMAcceleration acc = mgr.accelerometerData.acceleration; NSLog(@"x:%f,y:%f,z:%f", acc.x, acc.y, acc.z);
?
轉(zhuǎn)載于:https://www.cnblogs.com/chars/p/4936269.html
總結(jié)
- 上一篇: 天安门广场让儿童骑平衡车吗
- 下一篇: NumPy-快速处理数据--ndarra