Среда, 24 Апреля 2024, 14:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как исключить родительский объект?
Как исключить родительский объект?
ToasterДата: Вторник, 20 Ноября 2018, 18:10 | Сообщение # 1
был не раз
Сейчас нет на сайте
Как исключить родительский объект при использовании GetComponentsInChildren, а все дочерние оставить?
web_sstasДата: Вторник, 20 Ноября 2018, 19:58 | Сообщение # 2
частый гость
Сейчас нет на сайте
Как вариант
Код
public class GetComponentInChildrensTest : MonoBehaviour
{

    private Transform[] Components;
    // Use this for initialization
    void Start()
    {
        Components = gameObject.GetComponentsInChildren<Transform>();

        foreach (Transform comp in Components)
        {
            if (comp != gameObject.GetComponent<Transform>())
            {
                Debug.Log(comp.GetComponent<Transform>().name);
            }
        }

    }
}


Или так
Код

using System.Linq;

public class GetComponentInChildrensTest : MonoBehaviour
{

    private Transform[] Components;
    // Use this for initialization
    void Start()
    {
        Components = gameObject.GetComponentsInChildren<Transform>();

        foreach (Transform comp in Components.Skip(1).ToArray())
        {
                Debug.Log(comp.GetComponent<Transform>().name);
        }

    }
}


Сообщение отредактировал web_sstas - Вторник, 20 Ноября 2018, 20:03
ToasterДата: Вторник, 20 Ноября 2018, 20:08 | Сообщение # 3
был не раз
Сейчас нет на сайте
Огромное спасибо!
drcrackДата: Среда, 21 Ноября 2018, 04:50 | Сообщение # 4
старожил
Сейчас нет на сайте
одной строчкой:
Код
var components = transform.GetComponentsInChildren<Component>().Where(e => e.transform != transform).ToList();


Цитата
foreach (Transform comp in Components.Skip(1).ToArray())

почему именно 1? что если на родителе такого компонента нет? или наоборот, их больше 1?)
web_sstasДата: Среда, 21 Ноября 2018, 05:29 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата drcrack ()
или наоборот, их больше 1?)

Если честно, не сталкивался с таким, поэтому даже не подумал об этом.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как исключить родительский объект?
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг