我喜欢在倾斜时开始这个动画。它没有,所以我想一些必要的代码丢失了。请帮忙:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
flap.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed: @"ronnie1.png"],
[UIImage imageNamed: @"ronnie2.png"],
[UIImage imageNamed: @"ronnie3.png"],
[UIImage imageNamed: @"ronnie4.png"],
[UIImage imageNamed: @"ronnie5.png"],
[UIImage imageNamed: @"ronnie6.png"],
[UIImage imageNamed: @"ronnie7.png"],
[UIImage imageNamed: @"ronnie8.png"],
[UIImage imageNamed: @"ronnie9.png"],
[UIImage imageNamed: @"ronnie10.png"],nil];
[flap setAnimationRepeatCount:1];
flap.animationDuration = 2;
[flap startAnimating];
}
答案 0 :(得分:0)
按照命名,只要加速度计检测到加速度变化,就会触发-accelerometer:didAccelerate:
。因此,在倾斜期间,这种方法可能会被执行数十次。但每次执行时,你重置动画,所以净效果好像没有动画发生。
你必须(1)分析acceleration
以检查它是否真的倾斜,(2)检查[flap isAnimating]
并且不重置动画{} {1}}。