2011-09-17 69 views
2

我知道这是一个非常普遍和模糊的问题,但我很好奇如何以最简单的方式将此功能加入到我的应用程序中。我看到很多游戏,Doodle Jump是我的第一个例子,它可以让你校准加速度计,所以如果你侧身坐着,游戏会像新的一样运行良好。他们如何做到这一点?我想在我的应用程序中使用相同的功能,但我不知道该做什么或从哪里开始实现此功能。校准加速度计?

谢谢!

回答

2

您可以将“校准”视为对某个根值或状态的常量引用。当您想要重置校准时,只需重新设置所有其他值的根值即可。使用加速度计,您可以通过委托回调检测到变化,所以您只需编写一种方法来“捕捉”加速度计的当前状态即可。

tutorial outlined here,这样的方法概括为:

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { 
    calibration = acceleration.y; 
} 

但是,这并不像“控制”,因为我们想的那样。相反,要么断开与UIAccelerometer作为代表的关系,要么用BOOL ean属性将其包围,指示是否允许进行校准。像这样的东西应该只是罚款:

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { 
    if (self.allowsCalibration) 
     calibration = acceleration.y; 
} 
+0

我以前见过这个,但事情是因为他使用的风景,我很困惑如何将其应用到我的应用程序使用肖像。此外,我正从另一个角度对其进行校准,因此我需要一些帮助来了解如何从那里进行校准。你有什么想法如何做到这一点? –

+0

纵向时,就像是将图形旋转90°。基本上,只要让每个x点都是y点。 (例如浮动加速器现在是浮动加速器)。 – CodaFi

+0

好的我现在得了.x值现在是.y值,反之亦然?另外,您还有什么建议用于不同视角的校准?我将如何实现这一目标? –