Пример кода, который у меня есть (очевидно, что это псевдокод)
Как получить доступ к определенным частям тела символов (в SKReferenceNodes), чтобы я мог изменять / перемещать / анимировать их по отдельности?
loop through results from db to add all characters {
let container = SKSpriteNode()
container.name = "container\(character[ID])"
addChild(container)
let characterRig = SKReferenceNode(fileNamed: "RigCharacter")
container.addChild(characterRig!)
chooseAction(character: container)
}
func chooseAction(character: SKSpriteNode) {
let pick = Int.random(in: 1...2)
if pick == 1 {
moveCharacter(character: character)
}
if pick == 2
doSomethingElse(character: character)
}
func moveCharacter(character: SKSpriteNode) {
//do move stuff
//.....
//after done, pick another action
chooseAction(character: character)
}
func doSomethingElse(character: SKSpriteNode) {
//THIS IS WHERE MY TROUBLE IS
let c = character.childNode(withName: "//footLeft") as! SKSpriteNode
c.color = .brown
c.colorBlendFactor = 1
//after done, pick another action
chooseAction(character: character)
}
внутри RigCharacter есть следующие colorSprites с текстурами с точками привязки, установленными для движения персонажа
scene name: rig
body (parent: rig)
head (parent body)
legLeft (parent: body)
footLeft (parent: legLeft)
legRight (parent: body)
footRight (parent: legRight)
etc...
Моя проблема в том, что левая нога указанного персонажа не коричневого цвета.Меняется только одна нога персонажа (кажется, это первый экземпляр дочернего «legLeft», который найден).
если я печатаю контейнер в функции «doSomethingElse», он отображается как: name: 'container4'текстура: ['nil'] позиция: {197, 843} масштаб: {1.00, 1.00} размер: {400, 350} якорь: {0.5, 0.5} вращение: 0.00
Функция перемещения работает какЯ просто перемещаю контейнер, несмотря на это.Проблема заключается в доступе к дочерним элементам определенного ссылочного узла (поскольку все дочерние элементы имеют одинаковые имена, поскольку они просто являются ссылками)
Как получить доступ к частям тела определенных символов, чтобы я мог изменять / перемещать/ оживить их индивидуально?