我是Objective-C和iOS开发的新手,在阅读了一些关于Accelerometer类的文档后,我仍然不确定一些事情,所以也许你可以为我澄清这些..也请请原谅我的C ++ ..我只是以它为例......
我想创建一个看起来像这样的史密斯的while循环:
while(play)
{
while(getYaxis()>=..... && getYaxis()<=....)
{
//do something..
}
//more code to execute...
}
我想创建一个名为“getYaxis”的方法,该方法在调用方法时返回在加速度计的Y轴上运行的力...
这可能吗?怎么样?显然你可以设置Accelerometer定期返回g值,因为我只想让一个值返回“second”,我在我的while条件下要求它。然后应该执行其余的代码,如上所示,在某些时候,我将返回到while循环并再次检查Y值。换句话说,不是设置检查加速度计值的频率的间隔,我想让该间隔为执行其余代码所需的时间,并返回到将检查Y-的while循环。这两个检查之间的间隔是否很短,最终可能导致问题?
谢谢!
答案 0 :(得分:0)
以下是如何获得Accelerometer并成为代表:
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
创建了属性。
然后只需编写一个名为getX
或getY
;
-(UIAccelerationValue *) getY
{
return self.y;
}
您可以将其更新为毫秒或您想要的速度,并将其保存在属性中。然后你可以用函数检查属性的值。