大家好,任何人都可以帮我解决这个问题......
我有一个项目,我有NSTimer每秒大约20次开火,因此只使用一个图像(以编程方式加载)在iPhone屏幕上生成相同的图像大约二十次,这些图像从顶部开始屏幕到底部,它们被移除(或多或少模拟雨水或雨滴)。
我的问题是看动画,我注意到有很小的延迟,看起来像一个休息,暂停或小振动。因此流动不顺畅。
请有人帮我解决这个问题。
提前致谢
答案 0 :(得分:1)
您可以查看CADisplayLink类。
答案 1 :(得分:0)
计时器并非设计用于动画。
最好的办法是让一个线程在一个无限循环中运行,在那里检查是否需要再次设置动画,或者只是总是动画(给你更高的帧速率),但是使用经过的时间作为您正在绘制的州的参考。
答案 2 :(得分:0)
你真的不应该使用计时器。相反,您应该使用内置的UIView
动画方法:
animateWithDuration:animations:
animateWithDuration:animations:completion:
animateWithDuration:delay:options:animations:completion:
答案 3 :(得分:0)
仅仅因为你要求UI运行循环中的计时器以一定的速率关闭,并不意味着你将以恰好的速率或以均匀的间隔调用。您应该检查每个计时器回调中的时间和经过时间“dt”,并相应地更改动画位置y + dy * dt等。