Скажем, например, я создаю SKShapeNode
и создаю для него детей (пример - это крест и две его пересекающиеся линии). Крест является родителем, а пересекающиеся линии - это дети. Как вы могли изменить альфа-значение всех детей родителя? В настоящее время только с помощью:Swift 3 (SpriteKit): изменение альфа-значения родителя, которое влияет на всех детей.
parent.alpha = 0.5
не изменяет значение альфа своих детей.
Если кто-то может создать шейдер, который может решить эту проблему или использовать любой другой способ, ответьте. Это сообщение в ответе на мой предыдущий пост: (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
Я взял скриншот проблемы при использовании линии вместо кругов:
Спасибо.
Это должно сработать. Родительский узел, у которого есть дети, у которых есть дети, у которых есть дети ... прозрачность этого родителя одинаково влияет на всех своих детей. Если все дети были с непрозрачностью 1,0, а родительский - на 0,5, то все дети станут 0.5. Если дети начали жить на уровне 0,5, а родительский - на 1,0, а затем изменив родительскую сторону на 0,5, уменьшите прозрачность детей до 0,25 – Confused
. Я добавляю всех детей в родительский с альфа-версией 1.0, а изменение альфы родительского По какой-то причине это влияет. Это то, что я пытаюсь понять. –
argh, тогда определенно что-то не так с отношениями, между родителями и детьми. Можете ли вы показать больше кода? Это действительно должно сработать. – Confused