ユーザーを表す SKSpriteNode があり、ユーザーが歩くとノードが同じ方向に移動すると、このノードがユーザーの動きに合わせて移動したいと思います。
開始位置はビューの中心であり、CMMotionManager (iOS 7) の rotationRate、userAcceleration、および重力でこれを機能させることは可能だと思いますが、間違っているのか、これらの値をどのように操作すればよいのかわかりません.
誰かが私を助けてくれれば幸いです。
ありがとう。
ユーザーを表す SKSpriteNode があり、ユーザーが歩くとノードが同じ方向に移動すると、このノードがユーザーの動きに合わせて移動したいと思います。
開始位置はビューの中心であり、CMMotionManager (iOS 7) の rotationRate、userAcceleration、および重力でこれを機能させることは可能だと思いますが、間違っているのか、これらの値をどのように操作すればよいのかわかりません.
誰かが私を助けてくれれば幸いです。
ありがとう。
今、私はやります
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];
}];
}
次に、これらの x 座標と y 座標を SKSpriteNode の位置に追加し、SKSpriteNode をこの最終位置に移動します。私が得ているのは、歩いている間は SKSpriteNode が動かないということですが、激しく加速すると動きますが、一定の速度で歩いていると動きません。