//
// ViewController.m
// test_gradient_01
//
// Created by admin on 2/3/16.
// Copyright © 2016 jeffasd. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic, strong)UIView *contentView;
@property(nonatomic, strong)CAEmitterLayer *emitterLayer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_contentView = [UIView new];
// _contentView.frame = CGRectMake(150, 200, 100, 100);
_contentView.frame = CGRectMake(150, 200, 20, 20);
_contentView.backgroundColor = [UIColor redColor];
[self.view addSubview:_contentView];
#if 0
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = self.contentView.bounds;
[self.contentView.layer addSublayer:gradientLayer];
// gradientLayer.colors = (__bridge NSArray * _Nullable)([UIColor blueColor].CGColor);
// gradientLayer.colors = (__bridge NSArray * _Nullable)([UIColor cyanColor].CGColor);
//渐变区域
gradientLayer.locations = @[[NSNumber numberWithFloat:0.3], [NSNumber numberWithFloat:0.8]];
gradientLayer.colors = @[(__bridge NSArray * _Nullable)([UIColor blueColor].CGColor), (__bridge NSArray * _Nullable)([UIColor redColor].CGColor)];
// gradientLayer.startPoint = CGPointMake(0, 0);
gradientLayer.startPoint = CGPointMake(1, 0);
gradientLayer.endPoint = CGPointMake(1, 1);
#endif
// celocity
// 速率,速度; 周转率; 高速,快速;
//render 提出
//emitter 发射
#if 1
CAEmitterLayer *emitter = [CAEmitterLayer layer];
// emitter.frame = _contentView.frame;
// emitter.frame = _contentView.bounds;
[_contentView.layer addSublayer:emitter];
emitter.emitterSize = CGSizeMake(_contentView.frame.size.width, 0);
// emitter.renderMode = kCAEmitterLayerUnordered;
emitter.renderMode = kCAEmitterLayerAdditive;
// emitter.emitterPosition = _contentView.center;
emitter.emitterPosition = CGPointMake(emitter.frame.size.width / 2.0, emitter.frame.size.height / 2.0);
// emitter.emitterPosition = _contentView.center;
// Spawn points for the flakes are within on the outline of the line
emitter.emitterMode = kCAEmitterLayerOutline;
emitter.emitterShape = kCAEmitterLayerLine;
//create a particle template
CAEmitterCell *cell = [CAEmitterCell new];
cell.contents = (__bridge id _Nullable)([UIImage imageNamed:@"spark@2x.jpg"].CGImage);
cell.birthRate = 150;
// cell.birthRate = 1;
cell.lifetime = 5.0;
// cell.color = [UIColor colorWithRed:1 green:0.5 blue:1 alpha:1].CGColor;
cell.color = [UIColor cyanColor].CGColor;
cell.alphaSpeed = -0.4;
cell.velocity = -50;
cell.velocityRange = 50;
// cell.emissionRange = M_PI * 2.0;
cell.emissionRange = M_PI/3;
emitter.emitterCells = @[cell];
#endif
[UIView animateWithDuration:2.0 animations:^{
_contentView.center = CGPointMake(_contentView.center.x, _contentView.center.y + 200);
}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end