iOS粒子效果(雪花只泼,煙花)

雪花

//雪花動(dòng)畫
- (void)animation1 {

    //粒子發(fā)射器
    CAEmitterLayer *snowEmitter = [CAEmitterLayer layer];
    //粒子發(fā)射的位置
    snowEmitter.emitterPosition = CGPointMake(100, 30);
    //發(fā)射源的大小
    snowEmitter.emitterSize     = CGSizeMake(self.view.bounds.size.width, 0.0);;
    //發(fā)射模式
    snowEmitter.emitterMode     = kCAEmitterLayerOutline;
    //發(fā)射源的形狀
    snowEmitter.emitterShape    = kCAEmitterLayerLine;
    
    //創(chuàng)建雪花粒子
    CAEmitterCell *snowflake = [CAEmitterCell emitterCell];
    //粒子的名稱
    snowflake.name = @"snow";
    //粒子參數(shù)的速度乘數(shù)因子。越大出現(xiàn)的越快
    snowflake.birthRate     = 1.0;
    //存活時(shí)間
    snowflake.lifetime      = 120.0;
    //粒子速度
    snowflake.velocity      = -10;              // falling down slowly
    //粒子速度范圍
    snowflake.velocityRange = 10;
    //粒子y方向的加速度分量
    snowflake.yAcceleration = 2;
      //周圍發(fā)射角度
    snowflake.emissionRange = 0.5 * M_PI;       // some variation in angle
    //子旋轉(zhuǎn)角度范圍
    snowflake.spinRange     = 0.25 * M_PI;      // slow spin
    //粒子圖片
    snowflake.contents      = (id) [[UIImage imageNamed:@"DazFlake"] CGImage];
    //粒子顏色
    snowflake.color         = [[UIColor redColor] CGColor];
    
    //設(shè)置陰影
    snowEmitter.shadowOpacity = 1.0;
    snowEmitter.shadowRadius  = 0.0;
    snowEmitter.shadowOffset  = CGSizeMake(0.0, 1.0);
    snowEmitter.shadowColor   = [[UIColor whiteColor] CGColor];
    
    // 將粒子添加到粒子發(fā)射器上
    snowEmitter.emitterCells = [NSArray arrayWithObject:snowflake];
    [self.view.layer insertSublayer:snowEmitter atIndex:0];
}

煙花

//煙花動(dòng)畫
- (void)animation2 {
    // Cells spawn in the bottom, moving up
   
    //分為3種粒子,子彈粒子,爆炸粒子,散開粒子
    CAEmitterLayer *fireworksEmitter = [CAEmitterLayer layer];
    CGRect viewBounds = self.view.layer.bounds;
    fireworksEmitter.emitterPosition = CGPointMake(viewBounds.size.width/2.0, viewBounds.size.height);
    fireworksEmitter.emitterSize    = CGSizeMake(viewBounds.size.width/2.0, 0.0);
    fireworksEmitter.emitterMode    = kCAEmitterLayerOutline;
    fireworksEmitter.emitterShape   = kCAEmitterLayerLine;
    fireworksEmitter.renderMode     = kCAEmitterLayerAdditive;
    fireworksEmitter.seed = (arc4random()%100)+1;
    
    // Create the rocket
    CAEmitterCell* rocket = [CAEmitterCell emitterCell];
    
    rocket.birthRate        = 1.0;
    rocket.emissionRange    = 0.25 * M_PI;  // some variation in angle
    rocket.velocity         = 380;
    rocket.velocityRange    = 100;
    rocket.yAcceleration    = 75;
    rocket.lifetime         = 1.02; // we cannot set the birthrate < 1.0 for the burst
    
    //小圓球圖片
    rocket.contents         = (id) [[UIImage imageNamed:@"DazRing"] CGImage];
    rocket.scale            = 0.2;
    rocket.color            = [[UIColor redColor] CGColor];
    rocket.greenRange       = 1.0;      // different colors
    rocket.redRange         = 1.0;
    rocket.blueRange        = 1.0;
    rocket.spinRange        = M_PI;     // slow spin
    
    
    
    // the burst object cannot be seen, but will spawn the sparks
    // we change the color here, since the sparks inherit its value
    CAEmitterCell* burst = [CAEmitterCell emitterCell];
    
    burst.birthRate         = 1.0;      // at the end of travel
    burst.velocity          = 0;        //速度為0
    burst.scale             = 2.5;      //大小
    burst.redSpeed          =-1.5;      // shifting
    burst.blueSpeed         =+1.5;      // shifting
    burst.greenSpeed        =+1.0;      // shifting
    burst.lifetime          = 0.35;     //存在時(shí)間
    
    // and finally, the sparks
    CAEmitterCell* spark = [CAEmitterCell emitterCell];
    
    spark.birthRate         = 400;
    spark.velocity          = 125;
    spark.emissionRange     = 2* M_PI;  // 360 度
    spark.yAcceleration     = 75;       // gravity
    spark.lifetime          = 3;
    //星星圖片
    spark.contents          = (id) [[UIImage imageNamed:@"DazStarOutline"] CGImage];
    spark.scaleSpeed        =-0.2;
    spark.greenSpeed        =-0.1;
    spark.redSpeed          = 0.4;
    spark.blueSpeed         =-0.1;
    spark.alphaSpeed        =-0.25;
    spark.spin              = 2* M_PI;
    spark.spinRange         = 2* M_PI;
    
    // 3種粒子組合祟身,可以根據(jù)順序,依次煙花彈-煙花彈粒子爆炸-爆炸散開粒子
    fireworksEmitter.emitterCells   = [NSArray arrayWithObject:rocket];
    rocket.emitterCells             = [NSArray arrayWithObject:burst];
    burst.emitterCells              = [NSArray arrayWithObject:spark];
    [self.view.layer addSublayer:fireworksEmitter];
}

下載鏈接
https://pan.baidu.com/s/1dDPoeVR

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末物独,一起剝皮案震驚了整個(gè)濱河市袜硫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挡篓,老刑警劉巖婉陷,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異官研,居然都是意外死亡秽澳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門戏羽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來担神,“玉大人,你說我怎么就攤上這事始花⊥叮” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵酷宵,是天一觀的道長(zhǎng)亥贸。 經(jīng)常有香客問我,道長(zhǎng)浇垦,這世上最難降的妖魔是什么炕置? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮男韧,結(jié)果婚禮上朴摊,老公的妹妹穿的比我還像新娘。我一直安慰自己煌抒,他們只是感情好仍劈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布厕倍。 她就那樣靜靜地躺著寡壮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上况既,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天这溅,我揣著相機(jī)與錄音,去河邊找鬼棒仍。 笑死悲靴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的莫其。 我是一名探鬼主播癞尚,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼乱陡!你這毒婦竟也來了浇揩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤憨颠,失蹤者是張志新(化名)和其女友劉穎胳徽,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爽彤,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡养盗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了适篙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片往核。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匙瘪,靈堂內(nèi)的尸體忽然破棺而出铆铆,到底是詐尸還是另有隱情,我是刑警寧澤丹喻,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布薄货,位于F島的核電站,受9級(jí)特大地震影響碍论,放射性物質(zhì)發(fā)生泄漏谅猾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一鳍悠、第九天 我趴在偏房一處隱蔽的房頂上張望税娜。 院中可真熱鬧,春花似錦藏研、人聲如沸敬矩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弧岳。三九已至凳忙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間禽炬,已是汗流浹背涧卵。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留腹尖,地道東北人柳恐。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像热幔,于是被迫代替她去往敵國(guó)和親乐设。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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

  • 知識(shí)點(diǎn) 知識(shí)點(diǎn)匯總鏈接:http://pan.baidu.com/s/1dFFq1mp 密碼:hdvc 程序員英語...
    月老下次記de給我打死結(jié)閱讀 4,527評(píng)論 3 46
  • ¥關(guān)閉¥ 【雷霆戰(zhàn)機(jī)】 〖http://pan.baidu.com/s/1kVstszX〗 《解壓源碼后直接用AI...
    小菜c閱讀 9,445評(píng)論 0 19
  • 前段時(shí)間看過一個(gè)綜藝節(jié)目绎巨,一位年輕的媽媽因?yàn)榕畠褐肛?zé)自己是個(gè)傻子伤提,為了證明這一點(diǎn),她花了一年時(shí)間研究认烁、鍛煉自己的記...
    撿到蜜罐的熊閱讀 248評(píng)論 1 1
  • 拜訪客戶心態(tài)和觀念不對(duì) 初次拜訪客戶必須要有幾大心態(tài)却嗡。 1.自信 我們拜訪客戶必須有拿出自己的自信舶沛,尤其是新人在拜...
    lh事在人為閱讀 506評(píng)論 0 0
  • 1階最后10天,總得分 分(完成1項(xiàng) 1分) 1.5點(diǎn)起床 2.溫開水一杯 3.蛋白質(zhì)飲品一杯 4.慢跑五公里+下...
    白良鴻_合肥閱讀 145評(píng)論 0 0