我在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];
}
我是新手,所以我真的不知道应该怎么做。谢谢你的帮助。
答案 0 :(得分:1)
为您的俯仰和翻滚创建基线。例如,在init方法(或任何您想要的时间)设置2个变量,其中包含俯仰和滚动的当前值。完成后,您可以将这些变量用作当前值的偏移量。
例如,音高偏移设置为0.3。如果当前的音高读数为0.45,则从当前读数中减去偏移量。