我有一个应用程序可以做一件事,如果你以一种方式摇动,而另一件事,如果你摇动另一个。
atm我的代码是。
if (acceleration.x > 1.5) {
//面向你时右手臂
float duration = ([imageArray count]*0.04);
//HUMAN EYE KEEPS IMAGES IN EYE For 40 MILLISECONDS//
//NSLog(@"duration:%f", duration);
[theFlash setAnimationImages:imageArray];
[theFlash setAnimationRepeatCount:1];
theFlash.animationDuration = duration;
[theFlash startAnimating];
NSLog(@"images flashed forward");
}
if (acceleration.x < -1)
{
//arm to the left when facing you
float duration = ([imageArrayReversed count]*0.04);
//HUMAN EYE KEEPS IMAGES IN EYE For 40 MILLISECONDS//
NSLog(@"duration:%f", duration);
[theFlash setAnimationImages:imageArrayReversed];
[theFlash setAnimationRepeatCount:1];
theFlash.animationDuration = duration;
[theFlash startAnimating];
NSLog(@"images flashed backward");
}
1和-1值正在处理它不太敏感。
然而,这段代码并没有给我所需的结果。我喜欢一旦人开始以另一种方式移动设备时闪烁的图像(参见代码)。
有什么办法吗?
答案 0 :(得分:0)
嗯,你将不得不整合加速度以获得速度。不幸的是,加速度计有点嘈杂,并且不可避免地会漂移一点,因此您将不得不过滤掉那个积分。我认为 http://www.musicdsp.org/showone.php?id=92中描述的过滤器将满足您的需求,截止频率设置为采样频率的1/4左右。您需要band
输出,并且您必须调整共振参数。