178实现满天飞雪效果

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UIViewController
4 @property (strong, nonatomic) UIImage *imgSnowflake;
5
6 @end

ViewController.m

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()
 4 - (void)layoutUI;
 5 - (void)snow;
 6 @end
 7
 8 @implementation ViewController
 9 #define kApplicationFrame [[UIScreen mainScreen] applicationFrame]
10 #define kWidthOfSnowflake 30.0
11
12 - (void)viewDidLoad {
13     [super viewDidLoad];
14
15     [self layoutUI];
16 }
17
18 - (void)didReceiveMemoryWarning {
19     [super didReceiveMemoryWarning];
20     // Dispose of any resources that can be recreated.
21 }
22
23 - (void)layoutUI {
24     self.view.backgroundColor = [UIColor colorWithRed:0.218 green:0.219 blue:0.196 alpha:1.000];
25     _imgSnowflake = [UIImage imageNamed:@"Snowflake"];
26
27     //定时器;每隔0.5秒执行一次
28     [NSTimer scheduledTimerWithTimeInterval:0.5
29                                      target:self
30                                    selector:@selector(snow)
31                                    userInfo:nil
32                                     repeats:YES];
33 }
34
35 - (void)snow {
36     NSString *strWidthOfScene = [NSString stringWithFormat:@"%f", kApplicationFrame.size.width-kWidthOfSnowflake];
37     CGFloat startX = arc4random()%[strWidthOfScene integerValue]; //产生随机数0到strWidthOfScene-1
38     CGFloat endX = arc4random()%([strWidthOfScene integerValue]+1); //产生随机数1到strWidthOfScene
39
40     UIImageView *imgV = [[UIImageView alloc] initWithImage:_imgSnowflake];
41     imgV.frame = CGRectMake(startX, -20.0, kWidthOfSnowflake, kWidthOfSnowflake);
42     imgV.alpha = 0.8;
43     [self.view addSubview:imgV];
44
45     [UIView beginAnimations:nil context:NULL];
46     [UIView setAnimationDuration:5];
47     imgV.frame = CGRectMake(endX,
48                             kApplicationFrame.size.height+20.0-kWidthOfSnowflake,
49                             kWidthOfSnowflake,
50                             kWidthOfSnowflake);
51     [UIView commitAnimations];
52 }
53
54 @end
时间: 2024-08-30 04:42:39

178实现满天飞雪效果的相关文章

[转]iOS 中几种定时器 - 控制了时间,就控制了一切

这篇文章是转载内容,原文地址:http://www.cocoachina.com/ios/20150519/11857.html?utm_source=tuicool 这里的知识点,其实在我们日常开发中还是比较常见的,例如本人之前写过的两篇随笔: NSTimer 的使用:178实现满天飞雪效果 CADisplayLink 的使用:156 UIImageView 和 CADisplayLink 实现 Tom 汤姆猫动画效果的区别(扩展知识:分组(黄色文件夹)和文件夹引用(蓝色文件夹)区别) ---

html5游戏开发-零基础开发《圣诞老人送礼物》小游戏

开言: 以前lufy前辈写过叫" HTML5游戏开发-零基础开发RPG游戏"的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识.今天我也以零基础为视点,为大家讲述如何开发一款简单的游戏.希望大家看了这篇文章,能使你对理解游戏开发有帮助. 你可以先测试一下游戏: http://lufylegend.com/lufylegend_developers/yorhom_Christmas/index.html 1,如何进行游戏开发 1.1游

如何制作一款HTML5 RPG游戏引擎——第三篇,利用幕布切换场景

开言: 在RPG游戏中,如果有地图切换的地方,通常就会使用幕布效果.所谓的幕布其实就是将两个矩形合拢,直到把屏幕遮住,然后再展开直到两个矩形全部移出屏幕. 为了大家做游戏方便,于是我给这个引擎加了这么一个类. 本系列文章目录: 如何制作一款HTML5 RPG游戏引擎--第一篇,地图类的实现 http://blog.csdn.net/yorhomwang/article/details/8892305 如何制作一款HTML5 RPG游戏引擎--第二篇,烟雨+飞雪效果 http://blog.csd

如何制作一款HTML5 RPG游戏引擎——第四篇,情景对话

今天我们来实现情景对话.这是一个重要的功能,没有它,游戏将变得索然无味.所以我们不得不来完成它. 但是要知道,使用对话可不是一件简单的事,因为它内部的东西很多,比如说人物头像,人物名称,对话内容... 因此我们只能通过数组+JSON来将对话信息装起来,然后根据信息作出不同的显示.接下来我便要向大家展示实现方法. 先看本系列文章目录: 如何制作一款HTML5 RPG游戏引擎--第一篇,地图类的实现 http://blog.csdn.net/yorhomwang/article/details/88

如何制作一款HTML5 RPG游戏引擎——第五篇,人物&amp;人物特效

上一次,我们实现了对话类,今天就来做一个游戏中必不可少的--人物类. 当然,你完全是可以自己写一个人物类,但是为了方便起见,还是决定把人物类封装到这个引擎里. 为了使这个类更有意义,我还给人物类加了几个特效,在以下讲解中会提到. 以下是本系列文章的目录: 如何制作一款HTML5 RPG游戏引擎--第一篇,地图类的实现 http://blog.csdn.net/yorhomwang/article/details/8892305 如何制作一款HTML5 RPG游戏引擎--第二篇,烟雨+飞雪效果 h

动画效果--漫天飞雪

欢迎Follow我的GitHub, 关注我的CSDN. 冬天来了, 大雪纷飞, 好冷啊. 我们的应用也可以有一些冬天的效果, 教大家做一个下雪的动画效果, 参考. 主要 (1) 隐藏status bar, 全屏显示图片. (2) 绘制多个点, 实现移动效果. (3) 回收点, 避免重复创建. 我喜欢用注释说话, 请大家多关注代码中的注释. Github下载地址 1. 雪花类 雪花的属性包含: 随机量, 位置, 增量, 大小, 角度, 画笔. 绘画的过程中, 使用角度会移动点的位置, 每次速率都不

《css3揭秘》的效果code

1.在阅读css3揭秘的基础上,跟着书中的效果组合起来的这组代码. 2.代码中有四张图片分别是 1.jpg 2.jpg  3.jpg 4.jpg; 作为demo,图片名称没有语义. 3.兼容性:  IE上有部分并不兼容,Edge,FF,chrome没有问题. 4.下面是一个选择器的实现: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"

CSS3之绽放的花朵(网页效果--每日一更)

今天,带来的是纯CSS3打造的效果--绽放的花朵. 先来看效果吧:http://webfront.verynet.cc/pc/flower.html 这是纯CSS3样式打造的效果,关键是采用了animation属性和transform属性.详细请看下面代码. HTML结构: 1 <div class="div1"></div> 2 <div class="div2"></div> 3 <div class=&qu

网页定位 - 右侧导航栏效果

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>网页定位导航效果</title> 6 <style> 7 *{ 8 margin: 0; 9 padding: 0; 10 } 11 12 body{ 13 font-size: 12px; 14 line-height: 1