единый 3D коллайдер - PullRequest
       6

единый 3D коллайдер

0 голосов
/ 17 апреля 2020

Screen From the Game

Я пытаюсь разработать боевую игру ближнего боя. Я использую краевой коллайдер и приведенный ниже код. Я заметил, что когда я двигаюсь, включаю и отключаю коллайдер из инспектора. все идет, но когда я стою в своем дворце и использую AttackCol.enabled =! AttackCol.enabled; я не могу нажать, и триггерная функция не вызывает
единственное отличие, которое я вижу, это цвет коллайдера, когда я добавляю его из инспектора или когда я двигаюсь, его цвет нормальный, но когда я включаю и отключаю его по коду, его цвет уходит бледны и ничего не делают

public virtual void OnTriggerEnter2D(Collider2D collision)
    {
        if (DamageSources.Contains( collision.tag ))
        {
            StartCoroutine(TakeDamage());
        }
    }

Ответы [ 3 ]

2 голосов
/ 17 апреля 2020

  • Убедитесь, что ваш объект Trigger Game не помечен как Stati c.
  • Удалите virtual из определения функции.
  • Создайте еще один игровой объект для компонента триггера и попробуйте изменить активацию всего игрового объекта, а не компонента коллайдера
1 голос
/ 17 апреля 2020

Материал, подобный AttackCol.enabled = !AttackCol.enabled;, умный, но он может go ошибаться, когда тот вызывается (случайно) более одного раза. Я предлагаю попробовать в простейшем виде AttackCol.enabled = true;, чтобы убедиться, что ошибки нет. Позже вы все еще можете сделать его еще более элегантным! :)

0 голосов
/ 17 апреля 2020

я добавил AttackCol.isTrigger = AttackCol.enabled; after AttackCol.enabled =! AttackCol.enabled; и все сейчас хорошо, но я думаю, что это обходной путь, но мне нужно знать, почему цвет бледнеет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...