iOS/설명

[iOS] CAEmitterLayer로 애니메이션 효과 만들기

Sky Titan 2021. 6. 15. 21:37
728x90

CAEmitterLayer로 애니메이션 효과 만들기

import UIKit

class ViewController: UIViewController {
    
    let emitter = CAEmitterLayer()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        createEmitter()
    }
  
    private func createEmitter() {
        
        emitter.emitterPosition = CGPoint(x: view.center.x, y: view.center.y)
        
        let cell = CAEmitterCell()
        cell.scale = 0.01
        cell.lifetime = 2
        cell.birthRate = 10
        cell.velocity = 100
        cell.emissionRange = .pi * (2/3)
        
        cell.color = UIColor.red.cgColor
        cell.contents = UIImage(named: "dot")!.cgImage
        
        emitter.emitterCells = [cell]

        view.layer.addSublayer(emitter)
        
    }
    
    
    override func viewDidAppear(_ animated: Bool) {
        DispatchQueue.main.asyncAfter(deadline: .now() + 2, execute: { [weak self] in
            guard let strongSelf = self else {return}
            strongSelf.emitter.removeFromSuperlayer()
        })
    }
    
}

 

728x90