demo功能:基於CAEmitterLayer的雪花,煙花,火焰,愛心等效果。
demo說明:基於Core Animation的粒子發射系統,粒子用CAEmitterCell來初始化。 粒子畫在背景層盒邊界上
demo截屏:
demo代碼說明:
在iOS
5中,蘋果引入了一個新的CALayer
子類叫做CAEmitterLayer
。CAEmitterLayer
是一個高性能的粒子引擎,被用來創建實時例子動畫如:煙霧,火,雨等等這些效果
emitterPosition:發射位置
emitterSize:發射源的大小;
emitterMode:發射模式
renderMode:渲染模式:
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方向的加速度分量
來源:http://blog.csdn.net/donny_zhang/article/details/9096945
demo:https://github.com/lichtschlag/Dazzle