加速计

加速计的作用

  • 用于检测设备的运动(比如摇晃)
  • 摇一摇
  • 计步器

UIAccelerometer的使用步骤

  • 获得单例对象

UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];

  • 设置代理

accelerometer.delegate = self;

  • 设置采样间隔

accelerometer.updateInterval = 1.0/30.0; // 1秒钟采样30次

  • 实现代理方法

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

// acceleration中的x、y、z三个属性分别代表每个轴上的加速度

Core Motion的使用步骤(push)

  • 创建运动管理者对象

CMMotionManager *mgr = [[CMMotionManager alloc] init];

  • 判断加速计是否可用(最好判断)

if (mgr.isAccelerometerAvailable) {

// 加速计可用

}

  • 设置采样间隔

mgr.accelerometerUpdateInterval = 1.0/30.0; // 1秒钟采样30次

  • 开始采样(采样到数据就会调用handler,handler会在queue中执行)

- (void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMAccelerometerHandler)handler;

Core Motion的使用步骤(pull)

  • 创建运动管理者对象

CMMotionManager *mgr = [[CMMotionManager alloc] init];

  • 判断加速计是否可用(最好判断)

if (mgr.isAccelerometerAvailable) { // 加速计可用 }

  • 开始采样

- (void)startAccelerometerUpdates;

  • 在需要的时候采集加速度数据

CMAcceleration acc = mgr.accelerometerData.acceleration;

NSLog(@"%f, %f, %f", acc.x, acc.y, acc.z);

时间: 2024-12-17 20:32:48

加速计的相关文章

第六章:加速计与陀螺仪

iOS系统提供了加速计和陀螺仪支持,如果iOS设备提供了这些硬件支持,iOS即可通过CoreMotion框架提供的加速计来获取设备当前的加速度数据.陀螺仪数据.所处的磁场以及设备的方位等信息: 对于iOS应用开发者来说,开发传感器应用十分简单,CoreMotion框架的核心API是CMMotionManager,开发者只要创建一个CMMotionManager对象,接下来即可采用定时器周期性地从CMMotionManager对象获取加速度数据.陀螺仪数据等,也可采用基于代码块的方式来获取这些数据

(九十二)加速计的用法(过期方法+新方法)

在iOS4之前,使用UIAccelermeter获取加速计的数据,这种方法由于简单,沿用至今. 加速计坐标系如图所示,在相应轴向受力时会有数据变化. [过期方法] ①定义UIAccelerometer对象,设置代理,采样间隔,然后系统会自动调用代理方法. UIAccelerometer *ac = [UIAccelerometer sharedAccelerometer]; ac.delegate = self; ac.updateInterval = 1 / 30.0; ②然后遵循协议UIAc

ios开发——实用技术篇Swift篇&加速计和陀螺仪

加速计和陀螺仪 1 //返回按钮事件 2 @IBAction func backButtonClick() 3 { 4 self.navigationController?.popViewControllerAnimated(true) 5 } 6 7 8 @IBOutlet var xLabel:UILabel! 9 @IBOutlet var yLabel:UILabel! 10 @IBOutlet var zLabel:UILabel! 11 12 @IBOutlet var orient

加速计和陀螺仪

在程序中如果需要创建运动管理器的实例,应由一个实例向整个程序提供加速计和陀螺仪运动服务.因为设备中只有一个加速计和一个陀螺仪,使用单例更合乎逻辑. 创建运动管理器使用框架为:CoreMotion.framework 引入头文件#import <CoreMotion/CoreMotion.h> //初始化运动管理器 CMMotionManager *motionManager=[[CMMotionManager alloc]init]; //判断设备是否支持加速计和陀螺仪 if (motionM

iOS开发-CoreMotion框架(加速计和陀螺仪)

CoreMotion是一个专门处理Motion的框架,其中包含了两个部分加速度计和陀螺仪,在iOS4之前加速度计是由UIAccelerometer类来负责采集数据,现在一般都是用CoreMotion来处理加速度过程,不过由于UIAccelerometer比较简单,同样有人在使用.加速计由三个坐标轴决定,用户最常见的操作设备的动作移动,晃动手机(摇一摇),倾斜手机都可以被设备检测到,加速计可以检测到线性的变化,陀螺仪可以更好的检测到偏转的动作,可以根据用户的动作做出相应的动作,iOS模拟器无法模拟

IOS Core Motion、UIAccelerometer(加速计使用)

加速计 ● 加速计的作用 ● 用于检测设备的运动(比如摇晃) ● 加速计的经典应用场景 ● 摇一摇 ● 计步器 ● 加速计程序的开发 ● 在iOS4以前:使用UIAccelerometer,用法非常简单(到了iOS5就已经过期) ● 从iOS4开始:CoreMotion.framework ● 虽然UIAccelerometer已经过期,但由于其用法极其简单,很多程序里面都 还有残留 UIAccelerometer的使用步骤 ● 获得单例对象 UIAccelerometer *accelerom

CoreMotion框架--加速计和陀螺仪

iOS加速计是三轴加速计,可以监测三维空间中的运动和重力. 三轴坐标系统: *手机顶部向上时,正对手机屏幕,手机屏幕向左是X轴正方向. *沿手机屏幕向上是Y轴正方向. *垂直屏幕向外是Z轴正方向. 当手机静止不动时,地球引力将会给予手机1g加速度.

Windows Phone 十八、加速计

加速度传感器 手机的加速度传感器工作时是通过 x.y.z 三个轴的偏移来计算的 在代码基本的 API 主要集中在 Accelerometer 类型中 主要是使用该类型的对象捕获 ReadingChanged 事件监视加速度值变化的 X.Y.Z 加速度传感值 1 <StackPanel> 2 <TextBox x:Name="txtX" Header="X:"/> 3 <TextBox x:Name="txtY" He

PhoneGap 加速计 api 获取加速计 x 轴 y 轴 z 轴信息

一.PhoneGap 加速计 Accelerometer 对象介绍 1.主要方法 accelerometer.getCurrentAcceleration 获取当前设备在 x,y,z 轴上的加速度信息 accelerometer.watchAcceleration       定期获取设备的加速度信息 accelerometer.clearWatch      停止定期获取设备的加速度信息 2.参数 accelerometerSuccess 获取加速度信息成功的回调函数 acceleromete