首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在特定的“时刻”在加速度计的轴上施加力?

如何在特定的“时刻”在加速度计的轴上施加力?
EN

Stack Overflow用户
提问于 2012-07-06 04:11:46
回答 1查看 198关注 0票数 0

我是Objective-C和iOS开发的新手,在阅读了一些关于加速度计类的文档后,我仍然不确定一些事情,所以也许您可以为我澄清这些。另外,请原谅我的C++..我只是举个例子。

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

代码语言:javascript
复制
while(play)
{
    while(getYaxis()>=..... && getYaxis()<=....)
    {
        //do something..
    }
    //more code to execute...
}

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

这是可能的吗?如何实现?显然,您可以将加速度计设置为以固定的时间间隔返回g值,因为我只想让单个值返回“秒”,所以我在while条件中请求它。然后,应如上所述执行代码的其余部分,在某个时刻,我将返回到while循环并再次检查Y值。换句话说,我不想设置检查加速度计值的频率的间隔,而是让该间隔成为执行其余代码所需的时间,并返回到将再次检查Y值的while循环。或者,两次检查之间的间隔太短,最终可能会导致问题?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-06 05:08:51

下面是如何获得加速度计并成为代理:

代码语言:javascript
复制
UIAccelerometer *theAccelerometer = [UIAccelerometer sharedAccelerometer];
theAccelerometer.updateInterval = 0.001; //in seconds
theAccelerometer.delegate = self;

记住将<UIAccelerometerDelegate>添加到你的VC中。

然后,您可以捕获以下内容中的更改:

代码语言:javascript
复制
-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

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

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

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

代码语言:javascript
复制
-(UIAccelerationValue *) getY
{
    return self.y;
}

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11351870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档