родительский триггер

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

родительский триггер

Сообщение Torbenlino 06 июл 2018, 15:48

Есть объект(враг) на котором висит триггер(маленький) он отвечает за нанесение урона персонажу который в нем находится.
На враге висит дочерний объект с триггером(большим) который просто определяет находится ли в нем наш персонаж.
При таком раскладе когда персонаж входит в большой триггер на него начинает действовать и триггер родителя
Как заставить триггеры родителя и наследника действовать независимо друг от друга?
Torbenlino
UNец
 
Сообщения: 31
Зарегистрирован: 17 мар 2018, 01:47

Re: родительский триггер

Сообщение 1max1 06 июл 2018, 16:04

Сравнивай имена объектов или теги.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: родительский триггер

Сообщение Torbenlino 06 июл 2018, 16:26

вот у меня на враге скрипт висит
Синтаксис:
Используется csharp
public void OnTriggerEnter2D(Collider2D col)
    {    
        if (col.name == "player1")
        {        
                        col.GetComponent<baseChar>().takeDamage(3);
        }
    }
 

на этом же враге дочерний объект с тригерром(большего радиуса)
Синтаксис:
Используется csharp
public bool agr = false;

    public void OnTriggerEnter2D(Collider2D col)
    {  
        if (col.name == "player1")
        {
            agr = true;
        }
    }

    public void OnTriggerExit2D(Collider2D col)
    {
        if (col.name == "player1")
        {
            agr = false;
        }
    }
 

и я получаю урон когда вхожу и в большой триггер и потом еще раз в когда в маленький вхожу,
непонятно почему на входе в триггер дочернего объекта врага, срабатывает триггер родителя(самого врага).
какие имена сравнивать? я не понял
Torbenlino
UNец
 
Сообщения: 31
Зарегистрирован: 17 мар 2018, 01:47

Re: родительский триггер

Сообщение 1max1 06 июл 2018, 17:45

Синтаксис:
Используется csharp
public void OnTriggerEnter2D(Collider2D col)
    {    
        if (col.name == "player1" && gameObject.name == "Enemy")
        {        
                        col.GetComponent<baseChar>().takeDamage(3);
        }
    }
 


Синтаксис:
Используется csharp
public bool agr = false;

    public void OnTriggerEnter2D(Collider2D col)
    {  
        if (col.name == "player1" && gameObject.name == "Child")
        {
            agr = true;
        }
    }

    public void OnTriggerExit2D(Collider2D col)
    {
        if (col.name == "player1" && gameObject.name == "Child")
        {
            agr = false;
        }
    }
 


Но это к сожалению костыли.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: родительский триггер

Сообщение seaman 06 июл 2018, 17:50

То что маленький - триггер, это принципиально? Сделать его коллайдером никак?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: родительский триггер

Сообщение Torbenlino 06 июл 2018, 18:06

seaman писал(а):То что маленький - триггер, это принципиально? Сделать его коллайдером никак?

он точно должен быть триггером
1max1 писал(а):
Синтаксис:
Используется csharp
public void OnTriggerEnter2D(Collider2D col)
    {    
        if (col.name == "player1" && gameObject.name == "Enemy")
        {        
                        col.GetComponent<baseChar>().takeDamage(3);
        }
    }
 


Синтаксис:
Используется csharp
public bool agr = false;

    public void OnTriggerEnter2D(Collider2D col)
    {  
        if (col.name == "player1" && gameObject.name == "Child")
        {
            agr = true;
        }
    }

    public void OnTriggerExit2D(Collider2D col)
    {
        if (col.name == "player1" && gameObject.name == "Child")
        {
            agr = false;
        }
    }
 


Но это к сожалению костыли.

ничего не изменилось
Torbenlino
UNец
 
Сообщения: 31
Зарегистрирован: 17 мар 2018, 01:47

Re: родительский триггер

Сообщение 1max1 06 июл 2018, 19:49

Видимо что-то пошло не так))
Сделай свои триггеры параллельно, 2 объекта в дочерних под твоим врагом, первый объект большой триггер, второй маленький, и скрипты естественно на 1 и 2 кинь.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: родительский триггер

Сообщение Torbenlino 06 июл 2018, 19:53

ну я так и сделал уже)
Повесил на врага еще один дочерний объект с триггером, теперь он отвечает за получение урона моим персонажем.
Теперь все работает, но блин прост интересно почему если у родителя есть триггер и скрип с методом онТриггерЕнтер, то все триггеры дочерних объектов работают как один большой который делает все что прописано во всех скриптах этих дочерних объектов.
Torbenlino
UNец
 
Сообщения: 31
Зарегистрирован: 17 мар 2018, 01:47

Re: родительский триггер

Сообщение 1max1 06 июл 2018, 20:01

на то они и дочерние)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26