首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAEmitterCell颜色属性不起作用

CAEmitterCell颜色属性不起作用
EN

Stack Overflow用户
提问于 2017-04-14 21:23:01
回答 2查看 929关注 0票数 5

我对CAEmitterCell颜色属性有一些奇怪的行为,或者我不能正确理解它。

我有个手机

代码语言:javascript
复制
let cell = CAEmitterCell()

带有绘制为黑色的简单.png文件的内容

代码语言:javascript
复制
cell.contents = UIImage(named: "particle")?.cgImage

我试着把它改成绿色

代码语言:javascript
复制
cell.color = UIColor.green.cgColor

但它仍然呈现为黑色。我尝试在媒体资源中将此图像的"Render as“属性更改为"Template imagr”,但没有效果。

有没有人能帮我弄清楚我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 2017-04-17 20:10:09

好的,以初始图像的颜色为例:图像越暗,颜色变化就越小。因此最好对粒子发射器使用白色图像%)

票数 10
EN

Stack Overflow用户

发布于 2017-04-14 21:45:23

这是一个简单的例子,你可以改变CAEmitterCell的颜色。

代码语言:javascript
复制
class ViewController: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
        createParticles()
    }

    func createParticles() {
        let particleEmitter = CAEmitterLayer()

        particleEmitter.emitterPosition = CGPoint(x: view.center.x, y: -96)
        particleEmitter.emitterShape = kCAEmitterLayerLine
        particleEmitter.emitterSize = CGSize(width: view.frame.size.width, height: 1)

        let red = makeEmitterCell(color: UIColor.red)
        let green = makeEmitterCell(color: UIColor.green)
        let blue = makeEmitterCell(color: UIColor.blue)

        particleEmitter.emitterCells = [red, green, blue]

        view.layer.addSublayer(particleEmitter)
    }

    func makeEmitterCell(color: UIColor) -> CAEmitterCell {
        let cell = CAEmitterCell()
        cell.birthRate = 3
        cell.lifetime = 7.0
        cell.lifetimeRange = 0
        cell.color = color.cgColor
        cell.velocity = 200
        cell.velocityRange = 50
        cell.emissionLongitude = CGFloat.pi
        cell.emissionRange = CGFloat.pi / 4
        cell.spin = 2
        cell.spinRange = 3
        cell.scaleRange = 0.5
        cell.scaleSpeed = -0.05

        cell.contents = UIImage(named: "images")?.cgImage
        return cell
    }

}

和动画的例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43412445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档