CAEmitterLayer實現粒子效果

2021-07-10 23:36:44 字數 1270 閱讀 2440

caemitterlayer實現粒子效果

caemitterlayer

在ios 5中,蘋果引入了乙個新的

calayer

子類叫做

caemitterlayer

。caemitterlayer

是乙個高效能的粒子引擎,被用來建立實時例子動畫如:煙霧,火,雨等等這些效果。

caemitterlayer

看上去像是許多

caemittercell

的容器,這些

caemitiercell

定義了乙個例子效果。你將會為不同的例子效果定義乙個或多個

caemittercell

作為模版,同時

caemitterlayer

負責基於這些模版例項化乙個粒子流。乙個

caemittercell

類似於乙個

calayer

:它有乙個

contents

屬性可以定義為乙個

cgimage

,另外還有一些可設定屬性控制著表現和行為。我們不會對這些屬性逐一進行詳細的描述,你們可以在

caemittercell

類的標頭檔案中找到。

我們來舉個例子。我們將利用在一圓中發射不同速度和透明度的粒子建立乙個火**的效果。清單6.13包含了生成**的**。圖6.13是執行結果

清單6.13 用

caemitterlayer

建立**效果

#import "viewcontroller.h"

#import

@inte***ce viewcontroller ()

@property (nonatomic, weak) iboutlet uiview *containerview;

@end

@implementation viewcontroller

- (void)viewdidload

@end

caemittercell

的屬性基本上可以分為三種:

caemitterlayer

的屬性它自己控制著整個例子系統的位置和形狀。一些屬性比如

birthrate

,lifetime

和celocity

,這些屬性在

caemittercell

中也有。這些屬性會以相乘的方式作用在一起,這樣你就可以用乙個值來加速或者擴大整個例子系統。其他值得提到的屬性有以下這些:

圖6.13 火焰**效果

CAEmitterLayer 粒子效果

caemitterlayer執行在gpu上,不消耗cpu。建立出layer caemitterlayer emitterlayer caemitterlayer layer 顯示邊框 emitterlayer.borderwidth 1.f emitterlayer.bordercolor uico...

CAEmitterLayer屬性介紹

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

CAEmitterLayer實現烟花動畫效果

效果 caemitterlayer是calayer的乙個子類,和caemittercell一起使用可以創造出多樣的動畫效果。caemitterlayer的屬性 inte ce caemitterlayer calayer 粒子的陣列 把設定好的粒子放入陣列設定到layer上 property nul...