比如说,我创建了一个SKShapeNode
并为其创建了子节点(例如十字架及其两条交叉的线)。十字架是父节点,交叉的线是子节点。你如何更改所有父节点的子节点的alpha值?
目前只使用:
parent.alpha = 0.5
不更改其子元素的 alpha 值。
如果有人能够创建一个着色器来解决这个问题或使用其他方式,请回复此帖。此帖是针对我之前发布的帖子的回应:(Swift: Make translucent overlapping lines of the same color not change color when intersecting)。我正在尝试使半透明线条相交处的较暗部分消失,如果有人能够解决这个问题。
以下是示例代码:
let nodeParent = SKShapeNode()
let nodeOne = SKShapeNode(circleOfRadius: 5)
let nodeTwo = SKShapeNode(circleOfRadius: 5)
//Set the color of the circles, I'm not sure if this is the right way
nodeOne.fillColor = UIColor.init(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0)
nodeTwo.fillColor = UIColor.init(red: 1.0, green: 0.0, blue: 0.0, alpha: 1.0)
nodeParent.addChild(nodeOne)
nodeParent.addChild(nodeTwo)
addChild(nodeParent)
nodeParent.alpha = 0.5
我已经拍摄了使用线而不是圆时的问题截图:
![](https://istack.dev59.com/1fIzg.webp)