转载自:http://blog.csdn.net/mad2man/article/details/16898369

分类: cocoa SDK2013-11-23 11:52 388人阅读 评论(0) 收藏 举报

demo功能:基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果。

demo说明:基于Core Animation的粒子发射系统,粒子用CAEmitterCell来初始化。 粒子画在背景层盒边界上

demo截屏:

emitterPosition:发射位置

emitterSize:发射源的大小;

emitterMode:发射模式

  1. NSString * const kCAEmitterLayerPoints;
  2. NSString * const kCAEmitterLayerOutline;
  3. NSString * const kCAEmitterLayerSurface;
  4. NSString * const kCAEmitterLayerVolume;

复制代码

emitterShape:发射源的形状:

  1. NSString * const kCAEmitterLayerPoint;
  2. NSString * const kCAEmitterLayerLine;
  3. NSString * const kCAEmitterLayerRectangle;
  4. NSString * const kCAEmitterLayerCuboid;
  5. NSString * const kCAEmitterLayerCircle;
  6. NSString * const kCAEmitterLayerSphere;

复制代码

renderMode:渲染模式:

  1. NSString * const kCAEmitterLayerUnordered;
  2. NSString * const kCAEmitterLayerOldestFirst;
  3. NSString * const kCAEmitterLayerOldestLast;
  4. NSString * const kCAEmitterLayerBackToFront;
  5. NSString * const kCAEmitterLayerAdditive;

复制代码

Properties:
        
birthRate:粒子产生系数,默认1.0;

emitterCells: 装着CAEmitterCell对象的数组,被用于把粒子投放到layer上;

emitterDepth:决定粒子形状的深度联系:emitter shape

emitterZposition:发射源的z坐标位置;

lifetime:粒子生命周期

preservesDepth:不是多很清楚(粒子是平展在层上)

scale:粒子的缩放比例:

seed:用于初始化随机数产生的种子

spin:自旋转速度

velocity:粒子速度
  
CAEmitterCell

CAEmitterCell类代从从CAEmitterLayer射出的粒子;emitter cell定义了粒子发射的方向。

alphaRange:  一个粒子的颜色alpha能改变的范围;

alphaSpeed:粒子透明度在生命周期内的改变速度;

birthrate:粒子参数的速度乘数因子;每秒发射的粒子数量

blueRange:一个粒子的颜色blue 能改变的范围;

blueSpeed: 粒子blue在生命周期内的改变速度;

color:粒子的颜色

contents:是个CGImageRef的对象,既粒子要展现的图片;

contentsRect:应该画在contents里的子rectangle:

emissionLatitude:发射的z轴方向的角度

emissionLongitude:x-y平面的发射方向

emissionRange;周围发射角度

emitterCells:粒子发射的粒子

enabled:粒子是否被渲染

greenrange: 一个粒子的颜色green 能改变的范围;

greenSpeed: 粒子green在生命周期内的改变速度;

lifetime:生命周期

lifetimeRange:生命周期范围      lifetime= lifetime(+/-) lifetimeRange

magnificationFilter:不是很清楚好像增加自己的大小

minificatonFilter:减小自己的大小

minificationFilterBias:减小大小的因子

name:粒子的名字

redRange:一个粒子的颜色red 能改变的范围;

redSpeed; 粒子red在生命周期内的改变速度;

scale:缩放比例:

scaleRange:缩放比例范围;

scaleSpeed:缩放比例速度:

spin:子旋转角度

spinrange:子旋转角度范围

style:不是很清楚:

velocity:速度

velocityRange:速度范围

xAcceleration:粒子x方向的加速度分量

yAcceleration:粒子y方向的加速度分量

zAcceleration:粒子z方向的加速度分量

- (void)viewDidLoad

{

[super viewDidLoad];

CAEmitterLayer *snowemitter = [CAEmitterLayer layer];

snowemitter.emitterPosition = CGPointMake(self.view.bounds.size.width / 2.0,  -30);

snowemitter.emitterSize   = CGSizeMake(self.view.bounds.size.width ,  0.0);

snowemitter.emitterMode   = kCAEmitterLayerOutline;

snowemitter.emitterShape  = kCAEmitterLayerLine;

CAEmitterCell *snowflake  = [CAEmitterCell emitterCell];

snowflake.birthRate       = 2.0;

snowflake.lifetime        = 120.0;

snowflake.velocity        = -10;

snowflake.velocityRange   = 10;

snowflake.yAcceleration   = 2;

snowflake.emissionRange   = 0.5 * M_PI;

snowflake.spinRange       = 0.25 * M_PI;

snowflake.contents        = (id) [[UIImage imageNamed:@"DazFlake"] CGImage];

snowflake.color           = [[UIColor colorWithRed:0.600 green:0.658 blue:0.743 alpha:1.000] CGColor];

snowemitter.shadowOpacity = 1.0;

snowemitter.shadowRadius  = 0.0;

snowemitter.shadowOffset  = CGSizeMake(0.0, 1.0);

snowemitter.shadowColor   = [[UIColor blackColor] CGColor];

snowemitter.emitterCells  = [NSArray arrayWithObject:snowflake];

[self.view.layer insertSublayer:snowemitter above:0];

// Do any additional setup after loading the view.

}

ios 基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果demo(转)的更多相关文章

  1. ios 基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果demo

    demo功能:基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果. demo说明:基于Core Animation的粒子发射系统,粒子用CAEmitterCell来初始化. 粒子画在背景层 ...

  2. iOS 基于MVC设计模式的基类设计

    iOS 基于MVC设计模式的基类设计 https://www.jianshu.com/p/3b580ffdae00

  3. IOS基于XMPP协议开发--XMPPFramewok框架(一):基础知识

    最近蘑菇街团队的TT的开源,使我对im产生了兴趣,然后在网上找到了XMPPFramework进行学习研究, 并写了以下系列教程供大家参考,有写的不对的地方,请大家多多包涵指正. 目录索引 IOS基于X ...

  4. 手淘架构组最新实践 | iOS基于静态库插桩的⼆进制重排启动优化 抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15% 编译期插桩

    抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15% 原创 Leo 字节跳动技术团队 2019-08-09 https://mp.weixin.qq.com/s/Drmmx5JtjG ...

  5. iOS基于AVFoundation实现朗读文字

    iOS基于AVFoundation实现朗读文字 1.心理建设 众所周知AVFoundation的朗读是个智障语气,所以想不花钱就只能忍着. 2.speechManager @import AVFoun ...

  6. 【转】swift实现ios类似微信输入框跟随键盘弹出的效果

    swift实现ios类似微信输入框跟随键盘弹出的效果 为什么要做这个效果 在聊天app,例如微信中,你会注意到一个效果,就是在你点击输入框时输入框会跟随键盘一起向上弹出,当你点击其他地方时,输入框又会 ...

  7. 基于 jQuery 实现的精致作品集图片导航效果

    今天,我们要用 jQuery 来创建一个作品集图像的导航模板.我们的想法是,以分组的方式显示一组作品集,并通过二维的方式(水平/垂直)来浏览.任一箭头或当前图像下方的小盒子可以作为导航使用. 在线演示 ...

  8. C++实现水波纹、火焰和血浆效果

    点击这里查看原文 Code Project着火了! 整个工程有三个类,它们可以让你在图象上添加一些很酷的效果. 我把这些文件都放到我的代码压缩包里面了,并且做了一个小工程来让一些人使用起来更方便,但是 ...

  9. JS组件系列——基于Bootstrap Ace模板的菜单Tab页效果优化

    前言:之前发表过一篇  JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享(你值得拥有) ,收到很多园友的反馈,当然也包括很多诟病,因为上篇只是将功能实现了,很多细节都没有处理 ...

随机推荐

  1. 【优先队列】【最近连STL都写不出来了/(ㄒoㄒ)/~~】hdu_5360/多校#6_1008

    题意:就是让你写出一个邀请朋友的顺序,朋友答应一起出去玩的条件是除他以外所有同意出去玩的人数要在[ l[i], r[i] ]范围内,否则他就不答应. 分析:这题比赛的时候想麻烦了,其实只要在左边界满足 ...

  2. hdu 4009 最小树形图

    思路:唯一一个值得一提的就是建一个0号根节点,往每个房子建一条边,权值为房子的高度乘以X. #include<iostream> #include<cstdio> #inclu ...

  3. Xcode磁盘空间大清理(转)

    Xcode磁盘空间大清理 我的设备是Macbook Air 13’ Mid 2011,128G SSD.最近开始有些存储压力了,用Clean My Mac清理一部分旧文件后,决定对Xcode动手. 移 ...

  4. 【AngularJs】---实现select的ng-options

    controller .controller('MainController', function($scope, $http, $ionicModal, $timeout) { var post = ...

  5. HDOJ2025查找最大元素

    查找最大元素 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  6. android使用Intent操作拨打号码发送短信

    Activity程序Activity.java package com.example.intentcaseproject; import android.net.Uri; import androi ...

  7. python学习day4--python基础--字典

    字典的常用操作: #字典天然去重,key唯一,如果key相同,只能打印出一个 id_db={ 220456789852963741:{ 'name':"alex", 'age':3 ...

  8. C#中的DateTime:本周第一天,本月第一天,今年第一天,本周第一天的时间

    有时辰需要按照当前时刻,断定其它的都没有什么难度,只是本季度稍稍麻烦些.因为一年有四个季度,可以按照当前月份,获得本季度第一个月的月份,然后这个月的第一天,就是本季度的第一天了 DateTime dt ...

  9. Android中SurfaceView的使用详解

    Android中SurfaceView的使用详解 http://blog.csdn.net/listening_music/article/details/6860786 Android NDK开发 ...

  10. Unity3D项目实战笔记(5):延时功能的几种实现

    我所做过的系统,分单机版系统(2005年).CS系统(2010年).实时系统(2015年),各个系统均有“延时”功能:定时调度的: 本博客说的是实时系统中的延时功能(基于Unity3D游戏引擎). 在 ...