好吧,所以我制作的应用程序有点类似于飞扬的鸟,但是使用直升机和水龙头并且拿着机械师而不是水龙头,首先当我按住时我有直升机文件的图片直升机上升,当我放手时,我把文件的图片记录下来。为了让它看起来更流畅,我想制作一个动画,只需简单地将飞机上下移动大约10度,每0.05升秒,我怎么能让计时器能够做到这一点。这是切换图像文件的命令:
Heli.image = [UIImage imageNamed:@"HeliUp.png"];
或
Heli.image = [UIImage imageNamed:@"Helidown.png"];
基本上我想要这个:
Heli.image = [UIImage imageNamed:@"HeliUp1.png"];
(wait .05 seconds)
Heli.image = [UIImage imageNamed:@"Heli2.png"];
(wait .05 seconds)
Heli.image = [UIImage imageNamed:@"HeliUp5.png"];
有些事情,但我知道你需要使用间隔等的计时器......
其次,我怎么做到这样我只能在这个动画没有进行时上下移动直升机,所以它看起来并不愚蠢。
感谢任何帮助,谢谢。
答案 0 :(得分:0)
在这种情况下,动画很直接,您可以在UIImageView
内完成所有操作:
Heli.image = normalImage;
Heli.animationImages = @[ normalImage, upImage, normalImage, downImage ];
Heli.animationDuration = 4 * .05;
Heli.animationRepeatCount = 0;
要停止动画,只需将animationImages
设置为nil,重新启动动画重置animationImages = @[ ... ]
将一组图像分配给animationImages时,图像将以animationDuration确定的速率循环。如果随后将nil指定给animationImages,则image属性将用于确定显示的内容。因此,通过分配nil或数组@[ normalImage, upImage, normalImage, downImage ]
,您可以打开和关闭动画。