博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSTimer与iphone的简单动画
阅读量:5101 次
发布时间:2019-06-13

本文共 2234 字,大约阅读时间需要 7 分钟。

使用使用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]; }
标签: , , 
,实现飘雪效果,这理原理比较简单,就是定时生成一定的雪花图片,然后使用动画的方式向下漂落(我在其它论坛,看到使用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]; }
标签: , , 

转载于:https://www.cnblogs.com/moonvan/archive/2011/10/29/2228620.html

你可能感兴趣的文章
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>
关于BOM知识的整理
查看>>
使用word发布博客
查看>>
面向对象的小demo
查看>>
微服务之初了解(一)
查看>>