【问题标题】:Change Neutral Position for Accelerometer in Spritekit在 Spritekit 中更改加速度计的中性位置
【发布时间】:2014-04-28 04:54:04
【问题描述】:

我正在使用 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];

}

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

【问题讨论】:

    标签: ios sprite sprite-kit accelerometer core-motion


    【解决方案1】:

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

    例如,音高偏移设置为 0.3。如果您当前的音高读数为 0.45,请从当前读数中减去偏移量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 2011-05-02
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多