【问题标题】:How to get force exercised on Accelerometer axis at a particular "moment"?如何在特定“时刻”在加速度计轴上施加力?
【发布时间】:2012-07-05 20:11:46
【问题描述】:

我对 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 循环所花费的时间再次值.. 或者两次检查之间的间隔太短以至于最终可能导致问题?

谢谢!

【问题讨论】:

    标签: objective-c ios accelerometer


    【解决方案1】:

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

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

    记得将&lt;UIAccelerometerDelegate&gt;添加到你的VC。

    然后你可以捕捉到变化:

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

    确保为x,y,z 创建了UIAccelerationValue 类型的属性。

    然后只需编写一个名为getXgetY的方法;

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多