注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

尐鬼じ☆ve伱

和你在一起的日子

 
 
 

日志

 
 

使用NSTimer与UIView的动画,实现飘雪效果 (转)  

2012-08-23 15:48:05|  分类: ios 开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
使用NSTimer与iphone的简单动画,实现飘雪效果,这理原理比较简单,就是定时生成一定的雪花图片,然后使用动画的方式向下漂落(我在其它论坛,看到使用path的方式实现的一个云漂来漂去的效果,实际也可以用那种方式实现,这实际就是前面说的动画效果的两种应用)。所以,我们可以在viewDidLoad事件中,增加一个图片及定时器并启动,这里的pic请在头文件中定义。 
-(void)viewDidLoad{ 
[super viewDidLoad]; 
self.pic = [UIImage imageNamed:@"snow.png"];//初始化图片 
//启动定时器,实现飘雪效果 
[NSTimer scheduledTimerWithTimeInterval:(0.2) target:self selector:@selector(ontime) userInfo:nil repeats:YES]; 

然后再实现定时器定时调用的ontime方法: 
-(void)ontime{ 
UIImageView *view = [[UIImageView alloc] initWithImage:pic];//声明一个UIImageView对象,用来添加图片 
view.alpha = 0.5;//设置该view的alpha为0.5,半透明的 
int x = round(random()%320);//随机得到该图片的x坐标 
int y = round(random()%320);//这个是该图片移动的最后坐标x轴的 
int s = round(random()%15)+10;//这个是定义雪花图片的大小 
int sp = 1/round(random()%100)+1;//这个是速度 
view.frame = CGRectMake(x, -50, s, s);//雪花开始的大小和位置 
[self.view addSubview:view];//添加该view 
[UIView beginAnimations:nil context:view];//开始动画 
[UIView setAnimationDuration:10*sp];//设定速度 
view.frame = CGRectMake(y, 500, s, s);//设定该雪花最后的消失坐标 
[UIView setAnimationDelegate:self]; 
[UIView commitAnimations]; 

原文地址:http://www.voland.com.cn/the-use-of-a-simple-nstimer-with-uiview-animation-effects-to-achieve-snowing
  评论这张
 
阅读(142)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017