使用Core Motion和swift

时间:2014-10-20 06:59:50

标签: xcode swift sprite-kit core-motion

我正在尝试仅使用设备动作在x轴上移动SKSpiteNode。向左或向右倾斜设备以移动精灵。我正在阅读关于CoreMotion的内容,但我对如何在我的游戏中实现这一点表示怀疑.CoreMotion是否适合这个?和哪些功能使用? 谢谢你的任何帮助。

1 个答案:

答案 0 :(得分:2)

您应该使用CoreMotion框架。以下是您如何收听核心动态更新。

1-实例化CMMotionManager实例。该课程负责提供动作事件。

lazy var motionManager: CMMotionManager = {
    let motion = CMMotionManager()
    motion.accelerometerUpdateInterval = 1.0/10.0 // means update every 1 / 10 second
    return motion
}()

2-调用运动管理器的startAccelerometerUpdates方法。这将启动您的运动经理。

self.motionManager.startAccelerometerUpdates()

3-在update子类的SKScene方法中,您可以从运动管理器中读取加速度计值。以下是我如何使用它。

let xForce = self.motionManager.accelerometerData.acceleration.x
self.playerNodeBody.velocity = CGVector(dx: xForce, dy: 0)