帧动画就是让多张图片按照顺序显示,
核心代码:
// 1.创建图片数组(空的可变数组)
NSMutableArray *tempImages = [NSMutableArray array];
for (int i = 0; i < count; i++) {
//获取图片名
NSString *imageName = [NSString stringWithFormat:@"%@_%d",name,i+1];
// 通过imageNamed:加载图片默认使用缓存技术
// UIImage *image = [UIImage imageNamed:imageName];
//获取图片全路径
NSString *imagePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
// 通过imageWithContentsOfFile:加载图片不使用缓存技术
//注意:这里的图片文件要放在bundle中,不要放在Assets.xcassets里
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
[tempImages addObject:image];
}
// 设置图片的动画
self.imageView.animationImages = tempImages;
// 设置动画的时间
self.imageView.animationDuration = count * 0.06;
// 设置动画次数
self.imageView.animationRepeatCount = [name isEqualToString:@"stand"] ? 0 : 1;
// 设置显示的图片
// self.imageView.image = [UIImage imageNamed:@"stand_1"];
// 开启动画
[self.imageView startAnimating];
if ([name isEqualToString:@"stand"]) return;
// 大招动画播放完毕后播放站立的动画
// self.imageView.animationDuration后,执行self的satnd方法
[self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];
// 播放音频
// 获取软件安装包对象
NSBundle *bundle = [NSBundle mainBundle];
// 获取安装包中某一个资源的路径
NSString *SName = [NSString stringWithFormat:@"%@",soundname];
NSURL *url= [bundle URLForResource:SName withExtension:@"mp3"];
// 创建播放器对象 使用AVPlayer,要在头文件中导入#import
// AVPlayer *player = [[AVPlayer alloc] initWithURL:url];
self.player = [[AVPlayer alloc] initWithURL:url]; //定义的一个player的属性
[self.player play]; //播放动画