我正在寻找写一个代码,使用陀螺仪在‘拉动’的方式。我的fid示例代码使用了startGyroUpdatesToQueue:withHandler:"Push‘方法。我希望使用startGyroUpdates代替。我希望在屏幕上连续显示陀螺更新,而不使用startGyroUpdatesToQueue:withHandler:这可能吗?如果可能,有什么示例可以参考吗?
提前感谢
发布于 2011-08-30 17:56:59
这很简单。要入门,你应该阅读事件处理指南,特别是Handling Processed Device-Motion Data部分。
您只需保留对CMMotionManager的引用,然后在您的drawView方法中读取motionManager.deviceMotion.attitude,例如,一种更复杂的方法是将其放入自己的线程中,但在大多数情况下没有必要这样做。CMAttitude为您提供陀螺仪更新的欧拉角(俯仰、侧滚、偏航)、旋转矩阵或四元数表示。CMDeviceMotion包含时间戳。
您可以在WWDC2010会议视频的茶壶演示中找到示例代码,请查看CMMotionManager and the Gyroscope on iPhone 4中的my answer。处理是在EAGLView中完成的,尽管他们做了更多的加速计工作来显示不同之处,但您会发现referenceAttitude的设置和用法。
https://stackoverflow.com/questions/7237763
复制相似问题