幀動(dòng)畫就是讓多張圖片按照順序顯示,
核心代碼:
// 1.創(chuàng)建圖片數(shù)組(空的可變數(shù)組)
NSMutableArray *tempImages = [NSMutableArray array];
for (int i = 0; i < count; i++) {
//獲取圖片名
NSString *imageName = [NSString stringWithFormat:@"%@_%d",name,i+1];
// ? ? ? ?通過imageNamed:加載圖片默認(rèn)使用緩存技術(shù)
//? ? ? ? UIImage *image = [UIImage imageNamed:imageName];
//獲取圖片全路徑
NSString *imagePath = [[NSBundle mainBundle] pathForResource:imageName ofType:@"png"];
// 通過imageWithContentsOfFile:加載圖片不使用緩存技術(shù)
//注意:這里的圖片文件要放在bundle中篮灼,不要放在Assets.xcassets里
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
[tempImages addObject:image];
}
// 設(shè)置圖片的動(dòng)畫
self.imageView.animationImages = tempImages;
// 設(shè)置動(dòng)畫的時(shí)間
self.imageView.animationDuration = count * 0.06;
// 設(shè)置動(dòng)畫次數(shù)
self.imageView.animationRepeatCount = [name isEqualToString:@"stand"] ? 0 : 1;
// 設(shè)置顯示的圖片
//? ? self.imageView.image = [UIImage imageNamed:@"stand_1"];
// 開啟動(dòng)畫
[self.imageView startAnimating];
if ([name isEqualToString:@"stand"]) return;
// 大招動(dòng)畫播放完畢后播放站立的動(dòng)畫
// self.imageView.animationDuration后,執(zhí)行self的satnd方法
[self performSelector:@selector(stand) withObject:nil afterDelay:self.imageView.animationDuration];
// 播放音頻
// 獲取軟件安裝包對(duì)象
NSBundle *bundle = [NSBundle mainBundle];
// 獲取安裝包中某一個(gè)資源的路徑
NSString *SName = [NSString stringWithFormat:@"%@",soundname];
NSURL *url= [bundle URLForResource:SName withExtension:@"mp3"];
// 創(chuàng)建播放器對(duì)象? 使用AVPlayer忘古,要在頭文件中導(dǎo)入#import <AVFoundation/AVFoundation.h>
//? ? AVPlayer *player = [[AVPlayer alloc] initWithURL:url];
self.player = [[AVPlayer alloc] initWithURL:url]; //定義的一個(gè)player的屬性
[self.player play]; //播放動(dòng)畫