使用陀螺仪数据旋转SpriteKit精灵的z旋转

时间:2014-06-07 17:05:03

标签: ios sprite-kit core-motion

我已经实现了核心动作的设置,但无法弄清楚如何保持我的精灵的旋转,以便它跟随iPhone的旋转(在z轴上)。

更新代码:

[self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue]
                                            withHandler:^(CMDeviceMotion *motion, NSError *error)
{
    mySprite.zRotation = ?;
}];

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

CMAttitude是您正在寻找的课程。当您更新块激活时,您可以通过CMDeviceMotion实例上的attitude属性访问设备态度。从态度上,您可以直接向设备询问有关其旋转的各种有趣信息,但对于您的使用案例,您可能只需要请求偏航。

当然假设您不需要以任何方式转换这些值,您可以将它们直接泵入精灵的zRotation,您应该会收到预期的结果。

[self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue]
                                        withHandler:^(CMDeviceMotion *motion, NSError *error) {
                                            mySprite.zRotation = motion.attitude.yaw;
                                        }];

enter image description here 来自http://uqtimes.blogspot.com/2012/05/3-coremotion.html

的图片