博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS之CAEmitterLayer粒子引擎
阅读量:5931 次
发布时间:2019-06-19

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

1、CAEmitterCell粒子发射器的相关属性:

/* CoreAnimation - CAEmitterLayer.h   Copyright (c) 2007-2017, Apple Inc.   All rights reserved. *///iOS5中引入的新的子类,粒子引擎!可以实现粒子特效!#import 
@class CAEmitterCell;NS_ASSUME_NONNULL_BEGINCA_CLASS_AVAILABLE (10.6, 5.0, 9.0, 2.0)@interface CAEmitterLayer : CALayer//粒子发射器@property(nullable, copy) NSArray
*emitterCells;//CAEmitterCell(粒子)@property float birthRate;//出生率,每秒生成多少个对象,默认1秒一个@property float lifetime;//对象生存时间默认1秒@property CGPoint emitterPosition;//发射器在xy平面的位置@property CGFloat emitterZPosition;//发射器在z平面的位置@property CGSize emitterSize;//发射源尺寸大小@property CGFloat emitterDepth;//发射器的深度@property(copy) NSString *emitterShape;//发射源形状@property(copy) NSString *emitterMode;//发射模式@property(copy) NSString *renderMode;//发射器渲染模式@property BOOL preservesDepth;//是否开启三维效果,默认NO@property float velocity;//每个粒子的运动速度@property float scale;//每个对象的初始缩放大小@property float spin;//自旋转速度@property unsigned int seed;//初始化随机数产生的种子@end/** `emitterShape' values. **/CA_EXTERN NSString * const kCAEmitterLayerPoint  //点,粒子从一点发出! CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerLine   //线,粒子从一条线发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerRectangle  //矩形,粒子从一个矩形中发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerCuboid  //立方体,z屏幕有效果 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerCircle  //圆形,粒子从圆形发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerSphere  //球形--ForeverGuard博客园 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);/** `emitterMode' values. **/CA_EXTERN NSString * const kCAEmitterLayerPoints  //从发射器中发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerOutline  //从发射器边缘发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerSurface  //从发射器表面发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerVolume  //从发射器中心发出 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);/** `renderMode' values. **/CA_EXTERN NSString * const kCAEmitterLayerUnordered  //粒子无序出现 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerOldestFirst  //先声明的粒子渲染在最上层 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerOldestLast  //后声明的粒子渲染在最上层 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerBackToFront  //按照Z轴的前后顺序渲染 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);CA_EXTERN NSString * const kCAEmitterLayerAdditive  //粒子混合 CA_AVAILABLE_STARTING (10.6, 5.0, 9.0, 2.0);NS_ASSUME_NONNULL_END

 

2、CAEmitterCell粒子的相关属性:

#import 
NS_ASSUME_NONNULL_BEGINCA_CLASS_AVAILABLE (10.6, 5.0, 9.0, 2.0)@interface CAEmitterCell : NSObject
{@private void *_attr[2]; void *_state; uint32_t _flags;}+ (instancetype)emitterCell;//初始化方法@property(nullable, copy) NSString *name;//粒子的名字@property(getter=isEnabled) BOOL enabled;//粒子的颜色@property float birthRate;//粒子出生率@property float lifetime;//生命周期@property float lifetimeRange;//生命周期增减范围@property CGFloat emissionLatitude;//粒子z轴方向的发射角度@property CGFloat emissionLongitude;//粒子在xy平面的发射角度@property CGFloat emissionRange;//粒子发射角度范围@property CGFloat velocity;//粒子运动速度@property CGFloat velocityRange;//粒子速度增减范围@property CGFloat xAcceleration;//粒子x方向的加速度@property CGFloat yAcceleration;//粒子y方向的加速度@property CGFloat zAcceleration;//粒子z方向的加速度@property CGFloat scale;//粒子缩放比例@property CGFloat scaleRange;//粒子缩放比例范围@property CGFloat scaleSpeed;//粒子缩放比例速度@property CGFloat spin;//粒子自旋转@property CGFloat spinRange;//粒子自旋转范围@property(nullable) CGColorRef color;//粒子的颜色@property float redRange;//粒子颜色red改变范围@property float greenRange;//粒子颜色green改变范围@property float blueRange;//粒子颜色blue改变范围@property float alphaRange;//粒子透明度alpha改变范围@property float redSpeed;//粒子颜色red在生命周期里改变速度@property float greenSpeed;//粒子颜色green在生命周期里改变速度@property float blueSpeed;//粒子颜色blue在生命周期里改变速度@property float alphaSpeed;//粒子透明度alpha在生命周期里改变速度@property(nullable, strong) id contents;//渲染粒子是个图片@property CGRect contentsRect;//渲染范围@property CGFloat contentsScale;//渲染区域缩放@property(copy) NSString *minificationFilter;//缩小@property(copy) NSString *magnificationFilter;//放大@property float minificationFilterBias;//缩小因子//默认值都是kCAFilterLinear即‘linear’//有3中设置:kCAFilterLinear,kCAFilterNearest,kCAFilterTrilinear//kCAFilterLinear:默认值,缩放平滑,但容易产生模糊效果//kCAFilterTrilinear:基本和kCAFilterLinear相同//kCAFilterNearest:速度快不会产生模糊,但会降低质量并像素化图像@property(nullable, copy) NSArray
*emitterCells;//粒子发射的粒子(粒子也可以发射粒子,多层嵌套,烟花效果就是如此) @property(nullable, copy) NSDictionary *style;@end

 

转载于:https://www.cnblogs.com/xianfeng-zhang/p/7677681.html

你可能感兴趣的文章
autoconf,automake,libtool
查看>>
deis安装
查看>>
黑帽大会:有150种方法可绕过Web应用防火墙!
查看>>
Yii CDbCriteria 常用方法
查看>>
python中获取当前运行函数名称的方法
查看>>
linux自学心得之--安装内核头文件
查看>>
linux ssh 报错 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
查看>>
keepalived+lvs实现mysql集群读的操作(写类似)
查看>>
Elasticsearch from+size 超过10000结果解决方案(V 2.x)
查看>>
php学习笔记--序
查看>>
再次学习的回忆
查看>>
我的友情链接
查看>>
LINUX下网站维护命令
查看>>
F5+IIS7.5 SNAT日志记录真实源IP
查看>>
【 Visual C++】游戏开发笔记之二——最简单的DirectX,vc窗口的编写
查看>>
我的友情链接
查看>>
LDAP架构部署认证
查看>>
Linux网络抓包分析工具Tcpdump基础篇[参数说明]
查看>>
00_02启动tomcat时 一闪而过解决方法
查看>>
WSUS 客户端无法提示更新!
查看>>