iOS CAEmitterLayer 實現粒子效果

2021-07-10 04:56:23 字數 2726 閱讀 4054

demo功能:基於caemitterlayer的雪花,烟花,火焰,愛心等效果。

demo說明:基於core animation的粒子發射系統,粒子用caemittercell來初始化。 粒子畫在背景層盒邊界上

demo截圖:

demo**說明:

在ios 5中,蘋果引入了乙個新的calayer子類叫做caemitterlayercaemitterlayer是乙個高效能的粒子引擎,被用來建立實時例子動畫如:煙霧,火,雨等等這些效果

emitterposition:發射位置

emittersize:發射源的大小;

emittermode:發射模式

nsstring * const kcaemitterlayerpoints;

nsstring * const kcaemitterlayeroutline;

nsstring * const kcaemitterlayersu***ce;

nsstring * const kcaemitterlayervolume;

複製**

emittershape:發射源的形狀:

nsstring * const kcaemitterlayerpoint;

nsstring * const kcaemitterlayerline;

nsstring * const kcaemitterlayerrectangle;

nsstring * const kcaemitterlayercuboid;

nsstring * const kcaemitterlayercircle;

nsstring * const kcaemitterlayersphere;

複製**

rendermode:渲染模式:

nsstring * const kcaemitterlayerunordered;

nsstring * const kcaemitterlayeroldestfirst;

nsstring * const kcaemitterlayeroldestlast;

nsstring * const kcaemitterlayerbacktofront;

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方向的加速度分量

demo:

Android Textview實現陰影效果

textview控制項有乙個方法是控制陰影的加入的 mtextview.setshadowlayer 10f,11f,5f,color.yellow 第乙個引數為模糊半徑,越大越模糊。第二個引數是陰影離開文字的x橫向距離。第三個引數是陰影離開文字的y橫向距離。第四個引數是陰影顏色。第二種方式是將te...

android TextView實現滑動效果

這個需求源自我17年寫的乙個網路 爬蟲應用,當時使用scrollview寫在布局裡有問題,於是只能去硬著頭皮實現textview的滑動 哭 當時實現起來挺麻煩的,而且滑動效果比較差,一般不是迫不得已不建議這麼搞哈 重點是android fadescrollbars false android scr...

CAEmitterLayer實現粒子效果

caemitterlayer實現粒子效果 caemitterlayer 在ios 5中,蘋果引入了乙個新的 calayer 子類叫做 caemitterlayer caemitterlayer 是乙個高效能的粒子引擎,被用來建立實時例子動畫如 煙霧,火,雨等等這些效果。caemitterlayer ...