iOS动画实现雨花与樱花特效
程序员文章站
2023-12-11 15:31:40
先来看看效果图:
下面直接上代码:
粒子特效的话我只服苹果系统的,caemitter粒子特效提供了非常丰富的属性来实现各种效果(雨滴、雪花、流星),用法简单b格高。...
先来看看效果图:
下面直接上代码:
粒子特效的话我只服苹果系统的,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有所帮助。
推荐阅读