objective-c 逐帧动画
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
//
//? ViewController.m
//? 逐幀動畫
//
//? Created by DC017 on 15/12/22.
//? Copyright ? 2015年 DC017. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
{
? ? NSMutableArray * muarray;
? ? UIImageView * imageView;
? ? UIImage * image;
? ? UIImage * imageII;
? ? CALayer * layer;
? ? int current;
}
@end
@implementation ViewController
- (void)viewDidLoad {
? ? [super viewDidLoad];
? ? [self diYiZhong];
? ? [self diErZhong];
?? ?
}
-(void)diYiZhong{
? ? muarray=[[NSMutableArray alloc]initWithCapacity:10];
? ? imageView=[[UIImageView alloc]initWithFrame:CGRectMake(40, 200, 298, 215)];
? ? [self.view addSubview:imageView];
? ? for(int i=1;i<=87 ;i++){
? ? ? ? image=[UIImage imageNamed:[NSString stringWithFormat:@"dazhao_%d",i]];
? ? ? ? [muarray addObject:image];
? ? }
?
? ? imageView.animationImages=muarray;//動畫數(shù)組
? ? imageView.animationDuration=0.02* [muarray count];//一秒顯示10張
? ? imageView.animationRepeatCount=HUGE_VALF;//重復無線次
? ? [imageView startAnimating];
?? ?
}
-(void)diErZhong{
? ? //創(chuàng)建圖層
? ? layer=[[CALayer alloc]init];
? ? layer.frame=CGRectMake(40, 400, 298, 215);
?? ?
? ? [self.view.layer addSublayer:layer];
?? ?
? ? //定義時鐘對象
? ? CADisplayLink * displayLink=[CADisplayLink displayLinkWithTarget:self selector:@selector(step)];
? ? //添加時鐘對象到主運行循環(huán)
? ? [displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
}
-(void)step{
?? ?
? ? static int s=0;
? ? s++;
? ? if (s%1==0) {
? ? ? ? imageII=muarray[current];
? ? ? ? layer.contents=(id)imageII.CGImage;//更新圖片
? ? ? ? current=(current+1)%87;
?? ? ? ?
? ? }
?? ?
}
- (void)didReceiveMemoryWarning {
? ? [super didReceiveMemoryWarning];
? ? // Dispose of any resources that can be recreated.
}
@end
轉載于:https://my.oschina.net/u/2483781/blog/549142
總結
以上是生活随笔為你收集整理的objective-c 逐帧动画的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MariaDB Galera Clust
- 下一篇: hadoop3节点hdfs ha,yar