0

我对 Objective-C 和 iOS 开发相当陌生,在阅读了一些关于 Accelerometer 类的文档后,我仍然不确定一些事情,所以也许你可以为我澄清这些......另外请原谅我的 C++ ..我只是用它作为一个例子..

我想创建一个看起来像这样的 while 循环:

while(play)
{
    while(getYaxis()>=..... && getYaxis()<=....)
    {
        //do something..
    }
    //more code to execute...
}

我想创建一个名为“getYaxis”的方法,它返回在调用该方法时在加速度计的 Y 轴上施加的力......

这可能吗?如何?显然,您可以将加速度计设置为定期返回 g 值,因为我只想让一个值返回“秒”,我在我的 while 条件下要求它。然后其余的代码应该如上所示执行,在某个时候我将返回到那个while循环并再次检查Y值。换句话说,我不想设置检查加速度计值的频率间隔,而是让该间隔成为执行其余代码并返回将检查 Y- 的 while 循环所花费的时间再次值..或者两次检查之间的间隔太短以至于最终可能导致问题?

谢谢!

4

1 回答 1

0

以下是您获得加速度计并成为代表的方法:

UIAccelerometer *theAccelerometer = [UIAccelerometer sharedAccelerometer];
theAccelerometer.updateInterval = 0.001; //in seconds
theAccelerometer.delegate = self;

记得添加<UIAccelerometerDelegate>到你的 VC。

然后你可以捕捉到变化:

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

{
    self.x = acceleration.x;
    self.y = acceleration.y;
    self.z = acceleration.z;
}

确保您有为x,y,z类型创建的属性UIAccelerationValue

然后只需编写一个名为getXor的方法getY

-(UIAccelerationValue *) getY
{
    return self.y;
}

您将让它以毫秒或您想要的速度更新,并将其保存在属性中。然后您可以使用该函数检查属性的值。

于 2012-07-05T21:08:51.430 回答