加速计使用
一、UIAccelerometer
使用步驟
//1).獲得單例對象 UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer]; //2).設置代理 accelerometer.delegate = self; //3).設置采樣間隔 accelerometer.updateInterval = 1.0/30.0;//1秒鐘采樣30次 //4).實現代理方法 //acceleration中的x、y、z三個屬性分別代表每個軸上的加速度 -(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration;二、Core Motion
在iOS4之前,加速計由UIAccelerometer類來負責采集數據。隨著iPhone4的推出,加速計全面設計,并引入了陀螺儀。與Motion(運動)相關的編程稱為了重頭戲。
蘋果特地在iOS4中增加了專門處理Motion的框架CoreMotion.framework。
1.獲取數據的兩種方式
1)push
實時采集所有數據(采集頻率高)
2)pull?
在有需要的時候,再主動去采集數據。
2.使用步驟
1)push
//1)創建運動管理者對象 CMMotionManager *mgr = [[CMMotionManageralloc] init];//2)判斷加速計是否可用(最好判斷) if (mgr.isAccelerometerAvailable) { //加速計可用 }//3)設置采樣間隔 mgr.accelerometerUpdateInterval = 1.0/30.0; //1秒鐘采樣30次//4)開始采樣(采樣到數據就會調用handler,handler會在queue中執行) -(void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMAccelerometerHandler)handler;?2)pull
//1)創建運動管理者對象 CMMotionManager *mgr = [[CMMotionManageralloc] init];//2)判斷加速計是否可用(最好判斷) if (mgr.isAccelerometerAvailable) { //加速計可用 }//3)開始采樣 -(void)startAccelerometerUpdates;//4)在需要的時候采集加速度數據 CMAcceleration acc = mgr.accelerometerData.acceleration; NSLog(@"x:%f,y:%f,z:%f", acc.x, acc.y, acc.z);
?
轉載于:https://www.cnblogs.com/chars/p/4936269.html
總結
- 上一篇: 天安门广场让儿童骑平衡车吗
- 下一篇: C#总结项目《影院售票系统》编写总结二