Иерархия объектов
Voldemar Дата: Сб, 27 Апр 2013, 01:11 | Сообщение # 1
Сообщений: 2
Награды:
0
Репутация:
0
Статус: Offline
Я новичок в Unity. Изучаю скриптинг языке С#, столкнулся с такой проблемой. В сцене имеется объект Anchor, у которого есть много объектов с одинаковым именем, являющихся непосредственными потомками в иерархии объектов. как, имея например ссылку на Anchor, получить доступ к произвольному его потомку <B>[Index]? Помогите, пожалуйста
2097152
Сообщение Я новичок в Unity. Изучаю скриптинг языке С#, столкнулся с такой проблемой. В сцене имеется объект Anchor, у которого есть много объектов с одинаковым именем, являющихся непосредственными потомками в иерархии объектов. как, имея например ссылку на Anchor, получить доступ к произвольному его потомку <B>[Index]? Помогите, пожалуйста Автор - Voldemar Дата добавления - 27 Апр 2013 в 01:11
dfynze Дата: Сб, 27 Апр 2013, 10:18 | Сообщение # 2
Сообщений: 51
Награды:
0
Репутация:
6
Статус: Offline
попробуй переименовать каждый объект
Сообщение отредактировал dfynze - Сб, 27 Апр 2013, 10:20
Сообщение попробуй переименовать каждый объект Автор - dfynze Дата добавления - 27 Апр 2013 в 10:18
seaman Дата: Сб, 27 Апр 2013, 12:07 | Сообщение # 3
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Если они никак не отличаются, ни по имени, ни по тегу ни по другому признаку, то никак.
Сообщение Если они никак не отличаются, ни по имени, ни по тегу ни по другому признаку, то никак. Автор - seaman Дата добавления - 27 Апр 2013 в 12:07
waruiyume Дата: Сб, 27 Апр 2013, 13:21 | Сообщение # 4
Сообщений: 85
Награды:
1
Репутация:
37
Статус: Offline
transform.GetChild(5)
Сообщение отредактировал waruiyume - Сб, 27 Апр 2013, 13:21
Сообщение transform.GetChild(5) Автор - waruiyume Дата добавления - 27 Апр 2013 в 13:21
seaman Дата: Сб, 27 Апр 2013, 19:31 | Сообщение # 5
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Это что - недокументированная функция? http://docs.unity3d.com/Documen....etChild
waruiyume Дата: Сб, 27 Апр 2013, 20:04 | Сообщение # 6
Сообщений: 85
Награды:
1
Репутация:
37
Статус: Offline
Да Я хотел предложить, что-то вроде: Код
using UnityEngine; public class SelectChild:MonoBehaviour { public int childNumber; void Start() { Transform tr = GetTransformAtIndex(childNumber); if(tr!=null) { tr.position += Vector3.up; } } private Transform GetTransformAtIndex(int index) { int pos = 0; foreach (Transform tr in transform) { ++pos; if(pos==index) { return tr; } } return null; } }
Но пролистывая члены Transform, случайно наткнулся на неё, а в справке не посмотрел. Можно не юзать, но вряд ли её выпилят.
Сообщение отредактировал waruiyume - Сб, 27 Апр 2013, 20:11
Сообщение Да Я хотел предложить, что-то вроде: Код
using UnityEngine; public class SelectChild:MonoBehaviour { public int childNumber; void Start() { Transform tr = GetTransformAtIndex(childNumber); if(tr!=null) { tr.position += Vector3.up; } } private Transform GetTransformAtIndex(int index) { int pos = 0; foreach (Transform tr in transform) { ++pos; if(pos==index) { return tr; } } return null; } }
Но пролистывая члены Transform, случайно наткнулся на неё, а в справке не посмотрел. Можно не юзать, но вряд ли её выпилят. Автор - waruiyume Дата добавления - 27 Апр 2013 в 20:04
Voldemar Дата: Вс, 28 Апр 2013, 00:10 | Сообщение # 7
Сообщений: 2
Награды:
0
Репутация:
0
Статус: Offline
ОГРОМНОЕ СПАСИБО, РАБОТАЕТ!!!
2097152
Сообщение ОГРОМНОЕ СПАСИБО, РАБОТАЕТ!!! Автор - Voldemar Дата добавления - 28 Апр 2013 в 00:10