0

我正在寻找编写一个以“拉”方式使用陀螺仪的代码。我找到了使用 startGyroUpdatesToQueue:withHandler: ["Push' 方法] 的示例代码。我希望改用 startGyroUpdates。我想在屏幕上连续显示陀螺仪更新而不使用 startGyroUpdatesToQueue:withHandler: 这可能吗?如果是,有没有我可以参考的样本。

提前致谢

4

1 回答 1

1

这很简单。要开始,您应该阅读事件处理指南,尤其是处理已处理的设备运动数据部分。

您只需要保留对 CMMotionManager 的引用,然后motionManager.deviceMotion.attitude例如在您的 drawView 方法中阅读 - 一种更复杂的方法是将其放入自己的线程中,但在大多数情况下,不需要这样做。CMAttitude 为您提供欧拉角(俯仰、滚动、偏航)、旋转矩阵或陀螺更新的四元数表示。CMDeviceMotion 包含时间戳。

您可以在 WWDC 2010 会议视频的茶壶演示中找到示例代码,查看我在 CMMotionManager 和 iPhone 4 上的陀螺仪中的答案。处理是在 EAGLView 中完成的,尽管它们会做更多的加速度计来显示差异,但您会发现 referenceAttitude 的设置和用法。

于 2011-08-30T09:56:59.227 回答