使用NSTimer与iphone的简单动画,实现飘雪效果
2012-08-28 23:22
761 查看
原文转载自:http://www.cocoachina.com/bbs/read.php?tid=73570&page=2
实现效果如下:
使用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 beginAnimati*****:nil context:view];//开始动画
[UIView setAnimationDuration:10*sp];//设定速度
view.frame = CGRectMake(y, 500, s, s);//设定该雪花最后的消失坐标
[UIView setAnimationDelegate:self];
[UIView commitAnimati*****];
}
我的代码实现如下:
实现效果如下:
使用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 beginAnimati*****:nil context:view];//开始动画
[UIView setAnimationDuration:10*sp];//设定速度
view.frame = CGRectMake(y, 500, s, s);//设定该雪花最后的消失坐标
[UIView setAnimationDelegate:self];
[UIView commitAnimati*****];
}
我的代码实现如下:
相关文章推荐
- iphone--使用NSTimer与iphone的简单动画,实现飘雪效果
- 使用NSTimer与iphone的简单动画,实现飘雪效果
- 使用NSTimer与iphone的简单动画,实现飘雪效果
- 使用NSTimer与iphone的简单动画,实现飘雪效果
- 使用NSTimer与UIView的动画,实现飘雪效果
- 浅谈属性动画简单使用之实现爱的贝塞尔曲线浪漫告白效果(三)
- 使用NSTimer实现倒计时,Iphone幻灯片效果+背景音乐,
- 浅谈属性动画简单使用之实现爱的贝塞尔曲线浪漫告白效果(三)
- 冒泡动画按钮的简单实现(使用CSS3)
- 札记:翻译-使用Scene和Transition实现【场景切换】动画效果
- iOS使用UICountingLabel实现数字变化的动画效果
- Windows Phone使用sliverlight toolkit实现页面切换动画效果
- android Tween Animations(动画效果-代码实现)的使用
- Tab切换动画滑动效果的一个简单实现
- iPhone跳转的动画效果类型及实现方法 CATransition
- 使用CAlayer实现动画效果
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- Android中使用Animation实现控件的动画效果以及Interpolator和AnimationListener的使用
- 使用 CSS3 实现超炫的 Loading(加载)动画效果
- Android基础-简单的动画实现 *补间动画 *透明度渐变 *旋转动画 *位移动画 *如果需要几个效果整合到一起,需要将所有效果全部放到set里