OnCollisionEnter запускает даже на выключенном скрипте(

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

OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 08 апр 2019, 20:49

КАк решить? Может кто сталкивался? В инете не могу найти решение этой проблемы
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение 1max1 08 апр 2019, 20:52

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

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 08 апр 2019, 20:57

Нет, коллайдер мне нужен. У меня объекте 2 скрипта. я думал OnCollisionEnter сработает только на включенном.
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение 1max1 08 апр 2019, 21:03

Проверяй включен ли скрипт в OnCollisionEnter.
if (!this.enabled) return;
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 08 апр 2019, 21:06

пробовал. не работает. , т.к. скрипт не включался при старте, то связей нету и на if (!this.enabled) он реагирует стандартно: Object reference not set....
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 08 апр 2019, 21:09

Можно конечно извратиться и включить скрипт при старте для связей и проверить работает ли так, но тогда в старте запустятся не нужные мне методы. Ставить на них if, чтобы не срабатывали - очередной изврат.
Ладно вернусь к тому от чего ушёл, перенесу OnCollisionEnter в один скрипт и внутр него проведу проверки на if, вместо деления на два скрипта (включённый и выключенный) )))
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение raviluhu 08 апр 2019, 21:15

Нужен скрипт с условием который при соприкосновении объекта 1 с движущимся объектом 2, движущий объект 2 останавливался, а при отлипании заново начинал двигаться
raviluhu
UNец
 
Сообщения: 1
Зарегистрирован: 08 апр 2019, 20:48

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение 1max1 08 апр 2019, 21:46

greatPretender писал(а):пробовал. не работает. , т.к. скрипт не включался при старте, то связей нету и на if (!this.enabled) он реагирует стандартно: Object reference not set....

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

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение AngryCat 08 апр 2019, 22:36

Проверь может у тебя на объекте 2 скрипта. Или он висит на одном из дочерних...
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 10 апр 2019, 19:42

AngryCat писал(а):Проверь может у тебя на объекте 2 скрипта. Или он висит на одном из дочерних...

проверил, всё норм.
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 10 апр 2019, 19:48

1max1 писал(а):
greatPretender писал(а):пробовал. не работает. , т.к. скрипт не включался при старте, то связей нету и на if (!this.enabled) он реагирует стандартно: Object reference not set....

У меня всё работает замечательно, хз что ты там намудрил)

На юните 3 скрипта: основной (универсальный для всех юнитов), оборонительный и атакующий. В Start-е основного решается какой выключать обор-ный или атак-щий. Выключив не нужный скрипт, в нём теряется ссылка на включённый и поэтому проверка в OnCollionEnter в этом скрипте не работает.
Решил так: в конце Start-а в основном скрипте запускается корутина с задержкой на кадр, в кот-ой решается какой скрипт выключать и тогда ссылки внутри тех двоих скриптов не пропадают и срабатывает ваш метод, иначе - никак )))))
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение 1max1 10 апр 2019, 19:50

Выключив не нужный скрипт, в нём теряется ссылка на включённый

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

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 28 апр 2019, 18:48

господи, чё за бред.)))
Опять перестало срабатывать. Я в шоке.
---Рассказываю:
1 юнит. На нём два скрипта А и B.
Всегда включён только один и пока запущена игра ниче не меняется (нет даже кода для этого).
Контролирую в инспекторе.
В каждом из этих скриптов есть метод OnCollisionEnter ().
И когда пуля попадает в юнита, вызывается этот метод, но Карл, в обоих скриптах вызывается!!! ((
Смирился, что это фишка юнити.
В каждом методе я прописал проверку, чтобы срабатывал этот метод только во включённом скрипте, НО НЕТ мля...
всё равно игнориря проверку if - срабатывает в обоих. Это чё за трэш?!((
Но как? ведь один из скриптов отключён. Это нарушает условие if!!!
Объясните, как ТАК?

Синтаксис:
Используется csharp
public void OnCollisionEnter (Collision collision) {
        if (!A.enabled) {

public void OnCollisionEnter (Collision collision) {
        if (!B.enabled) {
 
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 28 апр 2019, 19:27

Заметил странную хрень. Выключенный скрипт срабатывает только тогда, когда юнит взрывается когда у него кончается здоровье, а не при каждом попадании пули :-?
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

Re: OnCollisionEnter запускает даже на выключенном скрипте(

Сообщение greatPretender 28 апр 2019, 19:32

Короче придумал. Очередной тупой костыль))
Синтаксис:
Используется csharp
public void OnCollisionEnter (Collision collision) {
        if (!undef.enabled && enabled) {

К проверке на выключен ли не нужный скрипт Добавил проверку, а включён ли скрипт из которого я это запускаю, ХАХАХ
бред. Ест-нно включён, но почему вдруг юнька при смерти юнита, думает что этот скрипт выключен, а главное запускает на нём OnCollisionEnter уже после смерти юнита.?!? Чертовщина какая-то )))
greatPretender
Старожил
 
Сообщения: 526
Зарегистрирован: 23 сен 2015, 07:51

След.

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

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

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