【发布时间】:2021-12-22 20:00:35
【问题描述】:
我正在尝试在 SKShapeNode 对象中绘制渐变。
我使用 alpha 分量绘制了一个带有颜色的三角形,它工作正常。我想添加渐变,使三角形的一个边缘慢慢消失到背景中。我想要实现的是模拟角色的视线范围。
我找到了一个关于这个挑战的答案:How to apply a gradient to SKShapeNode created from a path,但答案在 XCode 13.1 中不起作用。 原因是无法编译添加SKTexture的建议解决方案:
var testTexture = SKTexture(size: CGSize(width: 200, height: 1), color1: CIColor(red: 1.0, green: 0.0, blue: 1.0, alpha: 1.0), color2: CIColor(red: 1.0, green: 0.0, blue: 1.0, alpha: 0.0), direction: GradientDirection.Left)
它会导致错误“在范围内找不到'GradientDirection'...”。而且我找不到任何其他添加渐变的方法。
我找到了另一个答案,它说这是不可能的,但它是从 2013 年开始的,所以可能发生了一些变化 (How to create a Gradient in Spritekit?)。
我也尝试了这个解决方案:https://augmentedcode.io/2017/11/12/drawing-gradients-in-spritekit/,但它不会产生任何效果并降低应用程序的性能。
【问题讨论】:
标签: swift sprite-kit skshapenode