//
//  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