雪花飘落-动画制作(UIImage+NSTimer定时器)
来源:互联网 发布:js 判断是function 编辑:程序博客网 时间:2024/05/16 11:32
本文主要使用UIImage和定时器制作一个简单的雪花飘落Demo.
效果:
效果解释:随机生成雪花数目,飘到屏幕底部指定位置,设置时间,底部的雪花“消融”。
源代码:
#define FPS 30.0#define MAX_SIZE 10#define MAX_DURATION 10- (void)viewDidLoad{ [super viewDidLoad]; //启动定时器,创建雪花 [NSTimer scheduledTimerWithTimeInterval:1/FPS target:self selector:@selector(animate:) userInfo:nil repeats:YES];}-(void)animate:(NSTimer *)timer{ //1.创建一个雪花 UIImageView *snow = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"snow.png"]]; int viewWidth = self.view.bounds.size.width; int viewHeight = self.view.bounds.size.height; CGFloat size = MAX_SIZE+arc4random()%MAX_SIZE; snow.frame = CGRectMake(arc4random()%viewWidth, -20, size, size); [self.view addSubview:snow]; //2.创建动画 [UIView animateWithDuration:arc4random()%MAX_DURATION+2 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{ //3. 设置动画结束时雪花的位置信息 int offset = arc4random()%100 - 50; snow.center = CGPointMake(snow.center.x+offset, viewHeight-30); }completion:^(BOOL finished) { //4.落地动画结束时,开始融雪 [UIView animateWithDuration:arc4random()%MAX_DURATION delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{ snow.alpha = 0; } completion:^(BOOL finished) { //5.融雪动画结束时,将图片移出父视图 [snow removeFromSuperview]; }]; }];}
谢谢大家!
0 0
- 雪花飘落-动画制作(UIImage+NSTimer定时器)
- 雪花飘落 - 定时器(NSTimer/CADisplayLink)
- 雪花飘落动画-帧动画系列
- Android之雪花飘落的动画特效
- Silverlight & Blend动画设计系列十三:三角函数(Trigonometry)动画之飘落的雪花(Falling Snow)
- HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)
- HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)
- 漫天飘落的雪花(练习3)
- 利用高级动画来实现雪花的飘落
- JQuery制作飘落的树叶动画效果
- AS3雪花飘落效果
- 雪花飘落效果
- IOS 雪花飘落效果
- 飘落的雪花
- Juqery 雪花飘落插件
- 雪花飘落效果
- Android 雪花飘落效果
- Android 雪花飘落
- GDI映射模式
- C Primer Plus 练习 7-1
- AFNetworking2.5使用
- 孔浩老师 jUnit 视频教程学习笔记(第1讲)
- 1002求最值
- 雪花飘落-动画制作(UIImage+NSTimer定时器)
- IOS路径沙盒文件管理
- 正则表达式
- rotate array
- MM_ISOTROPIC与MM_ANISOTROPIC映射模式
- 《iOS总结》传值方式-MickyChiang
- VC中的RegisterHotKey函数与HotKey控件(CHotKeyCtrl)
- ffmpeg编译
- 设备坐标与逻辑坐标相互转换的两个函数