Member 14135033 Ответов: 2

Как определить, что обнаружение попадания отключено на другом объекте


Я так долго боролся с этим, я перепробовал так много вещей.

в полицейском сценарии! если его здоровье достигает 0, то его коробчатый коллайдер отключается

во вражеском сценарии у меня есть, что если он попадет в полицейскую атаку коллайдера ( работает нормально)

иначе, если полицейский коллайдер отключен, то ходите! (НЕ РАБОТАТЬ)

Любая помощь действительно помогла бы мне пройти мимо запертой двери.

Что я уже пробовал:

<pre lang="c#">

void OnTriggerEnter2D (Collider2D other)            
     {
         
         if(other.gameObject.CompareTag("policeFootCol")) 
         { 
          moveScript.WalkSpeed = 0f;
          SkelAnim.state.SetAnimation(0,attack,true); 
          
         }    
         else if (PoliceScript.FootStopperPolice.activeSelf == false)
         {
         moveScript.WalkSpeed = 1f;
         SkelAnim.state.SetAnimation(0,walk,true);     
         }

2 Ответов

Рейтинг:
4

Member 14135033

Решается в методе обновления, который я поставил.


if (state == State.ATTACKING && currentTarget && !currentTarget.activeSelf)
        {
        walking();
        }


Рейтинг:
20

Gerry Schmitz

Судя по вашему описанию:

"Если" тест на "PoliceScript" за активное должно быть в "если" на "коллайдер" (полиция) ... (активный против неактивного "полицейского" коллайдера).

У вас должен быть "переключатель", если вы имеете дело с несколькими коллайдерами, чтобы держать голову прямо.


Member 14135033

Прости, Джерри! Я пытался снова в течение нескольких часов сегодня и после Вашего сообщения прошлой ночью. В полицейском сценарии, в методе start, его коллайдер активен true, когда его здоровье равно 0; коллайдер активен false, это похоже на переключатель, верно? включался и выключался. В сценарии противника, если он сталкивается с полицией, то сражается еще один ходок, проблема все еще остается, когда здоровье полиции равно 0 и коллайдер выключен! тогда враг все еще находится в режиме атаки