react-native-motion-managerCMMotionManager包装器

联合创作 · 2023-09-25 03:53

react-native-motion-manager 是 CMMotionManager 对 react-native 的封装, 是 React Native 的动力传感器(加速计,陀螺计,磁力计)组件。

添加到你的项目:

  1. npm install react-native-motion-manager@latest --save

  2. 在 XCode 的项目导航右击  LibrariesAdd Files to [your project's name]

  3. 转到 node_modulesreact-native-motion-manager 然后添加 RNMotionManager.xcodeproj

  4. 在 XCode 项目导航选择你的项目,添加 libRNMotionManager.a 到你项目的 Build PhasesLink Binary With Libraries

  5. 在项目导航中点击 RNMotionManager.xcodeproj 然后转向 Build Settings 标签。确保  'All' 勾选上 (替代 'Basic')。查看 Header Search Paths 确保它包括 $(SRCROOT)/../react-native/React$(SRCROOT)/../../React - ,把两个都标记为 recursive

  6. 运行你的项目 (Cmd+R)

Api

安装

var {
    Accelerometer,
    Gyroscope,
    Magnetometer
} = require('NativeModules');
var {
  DeviceEventEmitter // will emit events that you can listen to
} = React;

Accelerometer

Accelerometer.setAccelerometerUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('AccelerationData', function (data) {
  /**
  * data.acceleration.x
  * data.acceleration.y
  * data.acceleration.z
  **/
});
Accelerometer.startAccelerometerUpdates(); // you'll start getting AccelerationData events above
Accelerometer.stopAccelerometerUpdates();

Gyroscope

Gyroscope.setGyroUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('GyroData', function (data) {
  /**
  * data.rotationRate.x
  * data.rotationRate.y
  * data.rotationRate.z
  **/
});
Gyroscope.startGyroUpdates(); // you'll start getting AccelerationData events above
Gyroscope.stopGyroUpdates();

Magnetomer

Magnetometer.setAccelerometerUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('MagnetometerData', function (data) {
  /**
  * data.magneticField.x
  * data.magneticField.y
  * data.magneticField.z
  **/
});
Magnetometer.startMagnetometerUpdates(); // you'll start getting AccelerationData events above
Magnetometer.stopMagnetometerUpdates();
浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报