//數組
// ViewController.moop
// 逐幀動畫動畫
//spa
// Created by dc008 on 15/12/22..net
// Copyright © 2015年 崔曉宇. All rights reserved.3d
//orm
#import "ViewController.h"對象
@interface ViewController ()圖片
{get
NSMutableArray *_muArray;//存放動畫的全部圖片
UIImageView *_imageView;//顯示動畫的區域
UIImage *_image;//圖片
CALayer *_layer;
int current;
}
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_muArray = [NSMutableArray array];
current = 0;
// _imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 20, 298, 215)];
// [self.view addSubview:_imageView];
//建立圖層
_layer = [[CALayer alloc]init];
_layer.frame = CGRectMake(0, 100, 298, 215);
[self.view.layer addSublayer:_layer];
//加載全部圖片
for (int i= 1; i <= 87; i++) {
_image = [UIImage imageNamed:[NSString stringWithFormat:@"dazhao_%d",i]];
[_muArray addObject:_image];
}
//定義時鐘對象
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(step)];
//添加時鐘對象到主運行循環
[displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
// //設置動畫
// _imageView.animationImages = _muArray;//動畫數組(包括全部動畫圖片)
// _imageView.animationDuration = 0.05 * [_muArray count ];//1秒10張
// _imageView.animationRepeatCount = HUGE_VALF;//無限次重複
// [_imageView startAnimating];//開始動畫
}
- (void)step{
static int s = 0;
s++;
if (s % 1 == 0) {
UIImage *image = _muArray[current];
_layer.contents = (id)image.CGImage;//更新圖片
current = (current + 1) % 87;
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end