Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更改Spritekit中加速计的空档位置_Ios_Sprite_Sprite Kit_Accelerometer_Core Motion - Fatal编程技术网

Ios 更改Spritekit中加速计的空档位置

Ios 更改Spritekit中加速计的空档位置,ios,sprite,sprite-kit,accelerometer,core-motion,Ios,Sprite,Sprite Kit,Accelerometer,Core Motion,我正在用Spritekit做一个简单的游戏,我在屏幕上滚动一个球。现在它工作得很好,球按我所希望的方式移动。我想改变它,使中立的立场是像45度,而不是平坦的东西。这就是我现在的代码 - (void)startMonitoringAcceleration { if (_motionManager.accelerometerAvailable) { [_motionManager startAccelerometerUpdates]; } } - (void)moveBallFrom

我正在用Spritekit做一个简单的游戏,我在屏幕上滚动一个球。现在它工作得很好,球按我所希望的方式移动。我想改变它,使中立的立场是像45度,而不是平坦的东西。这就是我现在的代码

- (void)startMonitoringAcceleration {


if (_motionManager.accelerometerAvailable) {
    [_motionManager startAccelerometerUpdates];

}
}

- (void)moveBallFromMotionManager {

CMAccelerometerData* data = _motionManager.accelerometerData;
if (fabs(data.acceleration.x) > 0.05) {
    [_ball.physicsBody applyForce:CGVectorMake(25.0 * data.acceleration.y, -25.0 * data.acceleration.x)];
}
if (fabs(data.acceleration.y) > 0.05) {
    [_ball.physicsBody applyForce:CGVectorMake(25.0 * data.acceleration.y, -25.0 * data.acceleration.x)];
}


}

-(void)update:(CFTimeInterval)currentTime {    

    [self moveBallFromMotionManager];

}

我是新手,所以我真的不知道该怎么做。感谢您的帮助。

为您的投球和翻滚创建基线。例如,在init方法中(或任何您想要的时间),使用俯仰和滚动的当前值设置2个变量。完成后,可以使用这些变量作为当前值的偏移量

例如,俯仰偏移设置为0.3。如果当前音调读数为0.45,则从当前读数中减去偏移量