在谷歌或两个谷歌之后,我想出了这个代码来保存用户所在的当前位置并将其保存到NSUserDefaults。这是在我的设置视图中: 代码:
//Add code for calibrating accelerometer
UIAcceleration *acceleration;
float accelX = (acceleration.x - [[NSUserDefaults standardUserDefaults] floatForKey:@"X-Calibrate"]);
float accelY = (acceleration.y - [[NSUserDefaults standardUserDefaults] floatForKey:@"Y-Calibrate"]);
[[NSUserDefaults standardUserDefaults] setFloat:accelX forKey:@"X-Calibrate"];
[[NSUserDefaults standardUserDefaults] setFloat:accelY forKey:@"Y-Calibrate"];
为了重置校准,我做了: 代码:
[[NSUserDefaults standardUserDefaults] setFloat:0 forKey:@"X-Calibrate"];
[[NSUserDefaults standardUserDefaults] setFloat:0 forKey:@"Y-Calibrate"];
现在我需要一些帮助。现在我在NSUserDefaults中有这些值。如何将其应用于以下代码,以便“完全”实施校准? 以下是加速度计的代码: 代码:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceration {
AccelPoint.x += (acceration.x*50);
if (AccelPoint.x < 0) {
AccelPoint.x = 320;
}
if (AccelPoint.x > 320) {
AccelPoint.x = 0;
}
playerSpeed += 0.066;
AccelPoint.y += playerSpeed;
Square.center = AccelPoint;
}
这是一些变量及其定义方式: 代码:
CGPoint AccelPoint;
float playerSpeed;
谢谢!
对于加速计代码也快速的小站点问题,我应该使用if-elseif吗?这样会更有效率,还是应该留在if-if?