如何为一组图像设置动画,但我有一大组图像,确切地说是300,
Background.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"001.jpg"],
[UIImage imageNamed:@"002.jpg"],
[UIImage imageNamed:@"003.jpg"],
[UIImage imageNamed:@"004.jpg"],
[UIImage imageNamed:@"005.jpg"],
[UIImage imageNamed:@"006.jpg"],
[UIImage imageNamed:@"007.jpg"],
[UIImage imageNamed:@"008.jpg"],
[UIImage imageNamed:@"009.jpg"],
[UIImage imageNamed:@"010.jpg"],
nil];
我不打算通过打字一直到300,这有解决方案吗? 我可以使用循环吗?
答案 0 :(得分:5)
循环可能看起来像这样
NSMutableArray *animationImages = [[NSMutableArray alloc] initWithCapacity:300];
for (int i = 1; i <= 300; i++) {
NSString *imageName = [NSString stringWithFormat:@"%03d.jpg", i];
[animationImages addObject:[UIImage imageNamed:imageName]];
}
Background.animationImages = animationImages;
格式说明符%03d
表示用0填充的整数,以使最小字段宽度为3.
<强> BUT 强>
根据图片的大小,您可能会耗尽内存并终止您的应用。
Background
不是一个非常好的名称。惯例是用小写字母开始变量名,然后使用驼峰大小写。
答案 1 :(得分:4)
NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < 300; i++)
{
NSString *imgName = [NSString stringWithFormat:@"%03d.jpg", i];
UIImage *img = [UIImage imageNamed:imgName];
[array addObject:img];
}
Background.animationImages = array;
答案 2 :(得分:1)
使用GIF图像播放动画。使用OpenGLES播放GIF文件是一种很好的做法,我相信这是播放动画的最佳方式。
关注Git链接:https://github.com/jamesu/glgif