0

사용자를 나타내는 SKSpriteNode가 있는데 사용자가 걷는 경우 노드가 동일한 방향으로 이동하면이 노드가 사용자 이동으로 이동하게합니다.CoreMotion을 사용하여 SKSpriteNode 이동

시작 위치는보기의 중심이며 CMRotionManager (iOS 7)에서 rotationRate, userAcceleration 및 gravity를 사용하여이 작업을 수행 할 수 있다고 생각하지만 잘못되었거나 어떤 작업을 수행해야하는지 알 수 없습니다. 이 값으로해라.

나는 누군가가 나를 도울 수있는 경우 appletiate.

감사합니다.

+0

당신이 지금까지 시도한 것을 보여줄 수 있습니까? 그리고 당신에게 주어진 결과는 무엇입니까? – mc110

+0

여기에 SpriteKit과 함께 가속도계를 사용하는 데 유용한 튜토리얼을 볼 수 있습니다. http://code.tutsplus.com/tutorials/build-an-airplane-game-with-sprite-kit-project-setup--mobile-19891 – ZeMoon

답변

0

지금, 나는이 추가 x, y는 SKSpriteNode 위치 좌표와 나는이 최종 위치로 SKSpriteNode 이동 그리고

if ([self.motionManager isDeviceMotionAvailable] == YES) { 
      [self.motionManager startDeviceMotionUpdatesToQueue:self.queueMotion withHandler:^(CMDeviceMotion *motion, NSError *error) { 
       self.xpos = motion.userAcceleration.x * motion.gravity.x * motion.rotationRate.x; 
       self.ypos = motion.userAcceleration.y * motion.gravity.y * motion.rotationRate.y; 

       [self performSelectorOnMainThread:@selector(updatePosition:) withObject:nil waitUntilDone:YES]; 
      }]; 
     } 

을하고있다. 내가 얻는 것은 내가 걷는 동안 SKSpriteNode가 움직이지 않는다는 것이다. 그러나 내가 단단한 가속을 만들면 그것은 움직이지만, 잠깐, 일정한 속도로 걷는다면 움직이지 않는다.