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();
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报