2014-10-20 3 views
0

디바이스 모션을 사용하여 x 축에서만 SKSpiteNode를 이동하려고합니다. 장치를 왼쪽이나 오른쪽으로 기울여 스프라이트를 움직입니다. CoreMotion에 대해 읽었지 만 게임에서이를 구현하는 방법에 의문을 가지고 있습니다. CoreMotion이이 도구입니까? 그리고 어떤 기능을 사용합니까? 도움을 주셔서 감사합니다.신속한 코어 모션 사용

답변

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 모션 관리자 방법으로 문의하십시오. 그러면 모션 관리자가 시작됩니다. 당신이 운동 관리자에서 가속도계 값을 읽을 수 있습니다 SKScene 서브 클래스의 update 방법에서

self.motionManager.startAccelerometerUpdates() 

3. 여기 내가 어떻게 사용 했나.

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