IOS火焰效果插件

控制器繼承UIViewController
.m中代碼實(shí)現(xiàn)

Snip20160920_4.png
//
//  YSCFireViewController.m
//  動(dòng)畫
//
//  Created by 韓燕輝 on 16/9/20.
//  Copyright ? 2016年 hyh. All rights reserved.
//

#import "YSCFireViewController.h"
@interface YSCFireViewController()
{
    CAEmitterLayer * _fireEmitter;
}

@end

@implementation YSCFireViewController
- (void)viewDidLoad
{
    self.view.backgroundColor = [UIColor whiteColor];
    //設(shè)置發(fā)射器
    _fireEmitter = [[CAEmitterLayer alloc] init];
    //發(fā)射器的位置具壮,在底部中間
    _fireEmitter.emitterPosition = CGPointMake(self.view.frame.size.width/2, self.view.frame.size.height - 20);
    _fireEmitter.emitterSize = CGSizeMake(self.view.frame.size.width - 100, 20);
    _fireEmitter.renderMode = kCAEmitterLayerAdditive;
    
    //發(fā)射單元
    //火焰
    CAEmitterCell *fire = [CAEmitterCell emitterCell];
    //birthRate 出生率遵倦,顧名思義沒有這個(gè)也就沒有CAEmitterCell离斩,這個(gè)必須要設(shè)置,具體含義是每秒某個(gè)點(diǎn)產(chǎn)生的Cell數(shù)量
    fire.birthRate = 800;
    
    //lifetime表示Cell的生命周期,既cell在屏幕上顯示多長(zhǎng)時(shí)間;
    fire.lifetime = 2.0;
    //lifetimeRange:生命周期范圍
    fire.lifetimeRange = 1.5;
    
    fire.color = [[UIColor colorWithRed:0.8 green:0.4 blue:0.2 alpha:0.1] CGColor];
    //contents 和CALayer一樣,只是用來設(shè)置圖片
    fire.contents = (id)[[UIImage imageNamed:@"fire"] CGImage];
    //setName 這個(gè)是當(dāng)Cell存在caeEmitter 的emitterCells中用來辨認(rèn)的到腥。用到setValue forKeyPath比較有用
    [fire setName:@"fire"];
    
    //velocity 速度
    fire.velocity = 160;
    //velocityRange 速度范圍
    fire.velocityRange = 80;
    //emissionLongitude x-y平面的發(fā)射方向
    fire.emissionLongitude = M_PI+M_PI_2;
    //emissionRange 周圍發(fā)射角度
    fire.emissionRange = M_PI_2;
    //alphaSpeed 粒子透明度在生命周期內(nèi)的改變速度
    fire.alphaSpeed = -0.05;
    
    //煙霧
    CAEmitterCell *smoke = [CAEmitterCell emitterCell];
    smoke.birthRate = 400;
    smoke.lifetime = 3.0;
    smoke.lifetimeRange = 1.5;
    smoke.color = [[UIColor colorWithRed:1 green:1 blue:1 alpha:0.05] CGColor];
    smoke.contents = (id)[[UIImage imageNamed:@"fire"] CGImage];
    [smoke setName:@"smoke"];
    
    smoke.velocity = 250;
    smoke.velocityRange = 100;
    smoke.emissionLongitude = M_PI + M_PI_2;
    smoke.emissionRange = M_PI_2;
    smoke.alphaSpeed = - 0.05;
    
    
    _fireEmitter.emitterCells = [NSArray arrayWithObjects:fire,nil];
    [self.view.layer addSublayer:_fireEmitter];
}
@end

附帶的也記錄了CAEmitterCell幾個(gè)重要屬性

1.birthRate:出生率,顧名思義沒有這個(gè)也就沒有CAEmitterCell蔚袍,這個(gè)必須要設(shè)置乡范,具體含義是每秒某個(gè)點(diǎn)產(chǎn)生的Cell數(shù)量;

2.lifetime:表示Cell的生命周期啤咽,既cell在屏幕上顯示多長(zhǎng)時(shí)間晋辆;lifetimeRange:生命周期范圍

3.contents:和CALayer一樣,只是用來設(shè)置圖片

4.name: 這個(gè)是當(dāng)Cell存在caeEmitter 的emitterCells中用來辨認(rèn)的宇整。用到setValue forKeyPath比較有用瓶佳;

5.velocity:速度;

6.velocityRange:速度范圍鳞青;

7.xAcceleration:粒子x方向的加速度分量霸饲;

8.yAcceleration:粒子y方向的加速度分量为朋;

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

10.scale:縮放比例厚脉;

11.scaleRange:縮放比例范圍习寸;

12.scaleSpeed:縮放比例速度;

13.spin:自旋轉(zhuǎn)角度傻工;

14.spinRange:自旋轉(zhuǎn)角度范圍霞溪;

15.contentsRect:

16.contentsScale:

17.minificationFilter:減小自己的大小中捆;

18.minificationFilterBias:減小大小的因子鸯匹;

19.enabled:粒子是否被渲染;

20.emissionLatitude:發(fā)射的z軸方向的角度轨香;

21.emissionLongitude:x-y平面的發(fā)射方向忽你;

22.emissionRange幼东;周圍發(fā)射角度臂容;

23.emitterCells:粒子發(fā)射的粒子

24.alphaRange:  一個(gè)粒子的顏色透明度alpha能改變的范圍;

25.alphaSpeed:粒子透明度在生命周期內(nèi)的改變速度根蟹;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脓杉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子简逮,更是在濱河造成了極大的恐慌球散,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件散庶,死亡現(xiàn)場(chǎng)離奇詭異蕉堰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)悲龟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門屋讶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人须教,你說我怎么就攤上這事皿渗。” “怎么了轻腺?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵乐疆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我贬养,道長(zhǎng)挤土,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任误算,我火速辦了婚禮耕挨,結(jié)果婚禮上细卧,老公的妹妹穿的比我還像新娘。我一直安慰自己筒占,他們只是感情好贪庙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著翰苫,像睡著了一般止邮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奏窑,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天导披,我揣著相機(jī)與錄音,去河邊找鬼埃唯。 笑死撩匕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墨叛。 我是一名探鬼主播止毕,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼漠趁!你這毒婦竟也來了扁凛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤闯传,失蹤者是張志新(化名)和其女友劉穎谨朝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甥绿,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡字币,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了共缕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洗出。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖骄呼,靈堂內(nèi)的尸體忽然破棺而出共苛,到底是詐尸還是另有隱情,我是刑警寧澤蜓萄,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布隅茎,位于F島的核電站,受9級(jí)特大地震影響嫉沽,放射性物質(zhì)發(fā)生泄漏辟犀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一绸硕、第九天 我趴在偏房一處隱蔽的房頂上張望堂竟。 院中可真熱鬧魂毁,春花似錦、人聲如沸出嘹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽税稼。三九已至烦秩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間郎仆,已是汗流浹背只祠。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扰肌,地道東北人抛寝。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像曙旭,于是被迫代替她去往敵國(guó)和親盗舰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容