更改 CAMetalLayer 背景颜色

change CAMetalLayer background color

我的 CAMetalLayer 背景颜色是黑色,即使我将新颜色指定为 backgroundColor 属性。

我错过了什么吗?谢谢!

Link 到原项目:

https://github.com/audiokit/MetalParticles

我已经查看了你的代码,但看不到你设置背景颜色的地方。

金属层作为子层添加到它,因此您必须明确设置它。

ParticialLab class 中的 init 方法末尾添加这一行,看看它是否有效。

self.backgroundColor = UIColor.redColor().CGColor

这个项目采用了一种非常规的方法来清除每帧可绘制对象的纹理:它将纹理内容替换为与纹理大小相同的零数组(宽度 * 高度 * 4)。随后,它编码一些实际绘制粒子的计算工作。这几乎肯定不是实现此效果的最有效方法,但如果您想进行可能有效的最小更改(而不是尝试使代码尽可能高效),只需填写 blankBitmapRawData具有所需清晰颜色的数组(ParticleLab.swift 的第 82 行附近)。

我发现图层上需要self.isOpaque = false