2015-05-06 4 views
0

У меня есть основной узел, и у него есть 5 дочерних элементов. Я хочу изменить position.y из 5 дочерних элементов без изменения position.y основного узла.изменение положения всех дочерних узлов узла, кроме родителя

есть ли способ сделать это? может быть что-то вроде:

for children in mainnode.children{ 
children.position.y = children.position.y - 10 
} 

Я знаю, что это не правильно, но, возможно, что-то вроде этого.

Я боролся с ним в течение нескольких дней, кто-нибудь, кто может мне помочь?

EDIT: мой вопрос: как отредактировать дочерние элементы узла. (пример кода, который я дал выше, является тем, что я пробовал, но не работал: он дает ошибку в строке секунд: «@value $ T9 не идентичен CGFloat»)

+0

без дополнительного контекста, это должно работать. Я предполагаю, что вы говорите о представлениях с представлениями (потому что координаты) .. – JDM

+1

Если вы просто обновляете дочерние элементы, родительский элемент не затрагивается. Вам нужно прояснить вашу проблему. – rmaddy

+0

, но он дает мне ошибку во второй строке моего примера кода: «@value $ T9 не идентичен CGFloat» – sdd

ответ

0

Если вам нужно обновить позицию всех детей попробовать это:

for child in mainnode.children as! [SKNode] { 
    // Update the position 
} 

Ваша ошибка, вероятно, исходя из того факта, что children имеет тип [AnyObject] и так child был типа AnyObject, не SKNode.

+0

ошибка: скопированный блок утверждений не используется близко (1-я строка) использование неразрешенного идентификатора «ребенок» (2-я строка) Но я думаю, что решение первой строки также решит вторую строку, но в чем проблема? – sdd

+0

Эти ошибки используют код выше? – ABakerSmith