iOS動畫實現雨花與櫻花特效_IOS

來源:互聯網
上載者:User

先來看看效果圖:

下面直接上代碼:

粒子特效的話我只服蘋果系統的,CAEmitter粒子特效提供了非常豐富的屬性來實現各種效果(雨滴、雪花、流星),用法簡單B格高。首先建立好CAEmitterLayer粒子發射器圖層,CAEmitterCell粒子單元,然後根據需要設定somany粒子單元的屬性就OK了,最後注意要將粒子發射器圖層的layer添加到整個背景的sublayer上。

@interface XMWeatherView ()@property(nonatomic,strong) CAEmitterLayer *sunshineEmitterLayer;@property(nonatomic,strong) CAEmitterLayer *rainDropEmitterLayer;@property(nonatomic,strong) UIImageView *backgroundView;@end

每個屬性都有詳細注釋,最後就發揮您的想象力,愛怎麼玩怎麼玩吧!

#pragma mark - 下雨特效-(void)addRainningEffect{  self.backgroundView.image=[UIImage imageNamed:@"rainning.jpeg"];  //粒子發射器圖層  self.rainDropEmitterLayer=[CAEmitterLayer layer];  //粒子發射器位置  _rainDropEmitterLayer.emitterPosition=CGPointMake(100, -30);  //粒子發射器的範圍  _rainDropEmitterLayer.emitterSize=CGSizeMake(self.bounds.size.width*4, 0);  //發射模式  _rainDropEmitterLayer.emitterMode=kCAEmitterLayerOutline;  //粒子模式  _rainDropEmitterLayer.emitterShape=kCAEmitterLayerLine;  //建立粒子  CAEmitterCell *emitterCell=[CAEmitterCell emitterCell];  //設定粒子內容  emitterCell.contents=(__bridge id)([UIImage imageNamed:@"42-Raindrop"].CGImage);  //設定粒子縮放比例  emitterCell.scale=0.9;  //縮放範圍  emitterCell.scaleRange=0.5;  //每秒粒子產生數量  emitterCell.birthRate=130;  //粒子生命週期  emitterCell.lifetime=5;  //粒子透明速度  emitterCell.alphaSpeed=-0.1;  //粒子速度  emitterCell.velocity=280;  emitterCell.velocityRange=100;  //設定發射角度  emitterCell.emissionLongitude=-M_PI;//  emitterCell.emissionRange=M_PI;  //設定粒子旋轉角速度//  emitterCell.spin=M_PI_4;  //設定layer陰影  _rainDropEmitterLayer.shadowOpacity=1.0;  //設定圓角  _rainDropEmitterLayer.shadowRadius=2;  //設定位移  _rainDropEmitterLayer.shadowOffset=CGSizeMake(1, 1);  //設定顏色  _rainDropEmitterLayer.shadowColor=[UIColor whiteColor].CGColor  ;  //設定layer的粒子  _rainDropEmitterLayer.emitterCells=@[emitterCell];  _rainDropEmitterLayer.transform=CATransform3DMakeRotation(-M_PI/4, 0, 0, 1);  [self.layer addSublayer:_rainDropEmitterLayer];}

櫻花的代碼大同小異,請自行腦補。

這一篇就到這裡了,大家有什麼意見和問題記得及時反饋哦,希望本文對大家開發iOS有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.