iOS粒子系统,简单了解

<pre name="code" class="objc">#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface EmitterView : UIView

@end


#import "EmitterView.h"@implementation EmitterView{ CAEmitterLayer *fireEmitter; //1}- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { //set ref to the layer fireEmitter = (CAEmitterLayer *)self.layer; //2 //fireEmitter.emitterPosition = CGPointMake(0, 0); //坐标 //fireEmitter.emitterSize = CGSizeMake(5, 5); //粒子大小// fireEmitter.renderMode = kCAEmitterLayerUnordered;// fireEmitter.renderMode = kCAEmitterLayerOldestFirst;// fireEmitter.renderMode = kCAEmitterLayerOldestLast;// fireEmitter.renderMode = kCAEmitterLayerBackToFront; fireEmitter.renderMode = kCAEmitterLayerAdditive; //递增渲染模式 fireEmitter.emitterShape = kCAEmitterLayerLine; CAEmitterCell *fire = [CAEmitterCell emitterCell]; fire.birthRate = 50; //粒子出生率 fire.lifetime = 1.0; //粒子生命时间 fire.lifetimeRange = 0; //生命时间变化范围 fire.color = [[UIColor colorWithRed:0.0 green:0.8 blue:0.9 alpha:0.8] CGColor]; //粒子颜色 //fire.contents = (id)[[UIImage imageNamed:@"Particles_fire.png"] CGImage]; fire.contents = (id)[[UIImage imageNamed:@"snow1.png"] CGImage]; //cell内容,一般是一个CGImage fire.velocity = 305; //速度 fire.velocityRange = 1; //速度范围 fire.emissionRange = 0; //发射角度 fire.scaleSpeed = 0.3; //变大速度 fire.spin = 3; //旋转 [fire setName:@"fire"]; //cell名字,方便根据名字以后查找修改 CAEmitterCell *fire1 = [CAEmitterCell emitterCell]; fire1.birthRate = 50; //粒子出生率 fire1.lifetime = 1.0; //粒子生命时间 fire1.lifetimeRange = 0; //生命时间变化范围 fire1.color = [[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8] CGColor]; //粒子颜色 //fire.contents = (id)[[UIImage imageNamed:@"Particles_fire.png"] CGImage]; fire1.contents = (id)[[UIImage imageNamed:@"snow1.png"] CGImage]; //cell内容,一般是一个CGImage fire1.velocity = 300; //速度 fire1.velocityRange = 1; //速度范围 fire1.emissionRange = 2; //发射角度 fire1.scaleSpeed = 0.3; //变大速度 fire1.spin = 3; //旋转 [fire1 setName:@"fire"]; //cell名字,方便根据名字以后查找修改 //add the cell to the layer and we're done fireEmitter.emitterCells = [NSArray arrayWithObjects:fire,fire1, nil]; } return self;}+ (Class)layerClass //3{ //configure the UIView to have emitter layer return [CAEmitterLayer class];}@end
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值