【问题标题】:Get values from either Gyroscope or Accelerometer从陀螺仪或加速度计获取值
【发布时间】:2011-04-22 19:10:49
【问题描述】:

我正在尝试构建一个只需要设备旋转值的应用程序。我希望应用程序支持尽可能低,因此如果设备具有硬件(iPhone 4)或从加速度计(iPhone 3G 和 3GS)获取值,我的偏好是首先从 Gyroscope 读取值。

我想编写一个 RotationManager 类来处理与陀螺仪或加速度计的交互,它的内部操作对于应用程序的其余部分将是抽象的。如何设计 RotationManager 类?为了构建良好的可重用 RotationManager 实例,应考虑哪些事项?

谢谢,

拉吉

【问题讨论】:

    标签: iphone cocoa-touch accelerometer gyroscope


    【解决方案1】:

    Apple 的 Core Motion 框架已经为您完成了这项工作。使用CMMotionManager,您可以选择分别接收加速度计和陀螺仪事件或注册组合的设备运动事件,这些事件会自动使用用户设备上可用的所有硬件。

    【讨论】:

    • 好的,但是我如何在 iPhone 3G 或 iPhone 3GS 中获取旋转事件,因为它没有陀螺仪?
    • 在大多数情况下,仅使用加速度计无法检测设备旋转。您是否尝试过 Core Motion 框架在非陀螺仪设备上为您生成的数据?我怀疑你或我能比 Apple 的工程师做得更好。
    • 是的,同意,现在我依靠 CMAttitude 给我所需的信息。
    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多