当前位置: 首页 > news >正文

使用NSTimer与iphone的简单动画,实现飘雪效果

使用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];
}

转载于:https://www.cnblogs.com/Cristen/archive/2013/01/07/2849561.html

相关文章:

  • Java的动态性支持学习一 - 反射机制 概念概述
  • 获取GridView行索引
  • win32 多线程基础
  • javascript 跳转页面
  • Java 泛型(一) 泛型使用基础
  • Codeforces 264B Good Sequences ★ (分解素因子+DP)
  • Unity(五):使用场景Ⅱ:用于单例模式
  • 【ZZ】9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路...
  • 密码绑定至密码文本框中
  • 使用PowerDesigner建立数据库模型
  • outerHTML兼容方法(jquery)
  • 解决compilation debug=true targetFramework=4.0 问题
  • Python学习笔记《Python核心编程》第13章 面向对象编程
  • GDI+ 图片高亮处理
  • int 反射到未知的 Enum , 使用 Enum.ToObject
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 《深入 React 技术栈》
  • 【comparator, comparable】小总结
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Fundebug计费标准解释:事件数是如何定义的?
  • Gradle 5.0 正式版发布
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • jquery ajax学习笔记
  • js中forEach回调同异步问题
  • Linux后台研发超实用命令总结
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • MD5加密原理解析及OC版原理实现
  • python学习笔记-类对象的信息
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Vue.js 移动端适配之 vw 解决方案
  • vue-loader 源码解析系列之 selector
  • webpack项目中使用grunt监听文件变动自动打包编译
  • web标准化(下)
  • 从零开始学习部署
  • 大快搜索数据爬虫技术实例安装教学篇
  • 工作中总结前端开发流程--vue项目
  • 开源地图数据可视化库——mapnik
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 爬虫模拟登陆 SegmentFault
  • 前端代码风格自动化系列(二)之Commitlint
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 什么是Javascript函数节流?
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 首页查询功能的一次实现过程
  • 跳前端坑前,先看看这个!!
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #FPGA(基础知识)
  • (04)odoo视图操作
  • (rabbitmq的高级特性)消息可靠性
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (十三)Flask之特殊装饰器详解
  • (一)RocketMQ初步认识
  • (原創) 物件導向與老子思想 (OO)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版