iOS 重力感应 学习1 陀螺仪 水平仪 指南针
生活随笔
收集整理的這篇文章主要介紹了
iOS 重力感应 学习1 陀螺仪 水平仪 指南针
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
小球可以隨著重力感應 四處亂撞。 放大了坐標位移 就可以看見小球動了。
然后規定小球的路徑 當滑到中間時候 彈出一張圖片 作為提示。 我做了一個小demo 效果不錯哦
CMMotionManager *motionManager = [[CMMotionManager alloc]init];if (!motionManager.accelerometerAvailable) {// fail code // 檢查傳感器到底在設備上是否可用 }motionManager.accelerometerUpdateInterval = 0.01; // 告訴manager,更新頻率是100Hz/*[motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *latestAcc, NSError *error){//2. Gravity 獲取手機的重力值在各個方向上的分量,根據這個就可以獲得手機的空間位置,傾斜角度等CMAccelerometerData *newestAccel = motionManager.accelerometerData;double accelerationX = newestAccel.acceleration.x;double accelerationY = newestAccel.acceleration.y;imageView.frame=CGRectMake(accelerationX*100 , accelerationY*100, 40, 40);NSLog(@"%f==%f\n",accelerationY,accelerationY);//通過陀螺儀模塊可以實現模擬賽車,模擬射擊等。[self.view addSubview:imageView];}];//*/NSLog(@"%f", Height);/* 加速度傳感器開始采樣,每次采樣結果在block中處理 */// 開始更新,后臺線程開始運行。[motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error){CMAccelerometerData *newestAccel = motionManager.accelerometerData;double accelerationX = newestAccel.acceleration.x;double accelerationY = newestAccel.acceleration.y;f.origin.x += (accelerationX * SIZE) * 1;f.origin.y += (accelerationY* SIZE) * -1;if(f.origin.x < 0)f.origin.x = 0;if(f.origin.y < 0)f.origin.y = 0;if(f.origin.x > (self.view.frame.size.width - f.size.width))f.origin.x = (self.view.frame.size.width - f.size.width);if(f.origin.y > (self.view.frame.size.height - f.size.height))f.origin.y = (self.view.frame.size.height - f.size.height);NSLog(@"%f==%f\n",f.origin.x ,f.origin.y);/* 運動動畫 */[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:0.1];if(f.origin.y>=Height-40){f.origin.y=Height-40;}imageView.frame=CGRectMake(140 ,f.origin.y, 40, 40);//通過陀螺儀模塊可以實現模擬賽車,模擬射擊等。 [self.view addSubview:imageView];if(f.origin.y>=(Height-40)/2&&f.origin.y<=(Height+40)/2){[self.view addSubview:baby];// [NSThread sleepForTimeInterval:5.0];// }else{[baby removeFromSuperview];}[UIView commitAnimations];}];?
轉載于:https://www.cnblogs.com/someonelikeyou/p/3586855.html
總結
以上是生活随笔為你收集整理的iOS 重力感应 学习1 陀螺仪 水平仪 指南针的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奥的斯电梯服务器自动呼梯,奥的斯MCS系
- 下一篇: Python实验数据处理