3

TD shooter помогите с противником

Чуваки, выручайте! Тритий день 24/7 не могу сообразить как заставить врага наносить урон игроку..враг бежит и преследует, но не атакует хотя ошибки никакие не выдает

В скрипте ссылка на анимацию есть, в анимации разумеется ссылка на скрипт тоже

0
Киноман
Автор поста оценил этот комментарий

Да, всё верно.

Rigidbody отвечает как бы за физический компонент объекта. Если его включен - объекты бьются друг о друга, а если отключить - будут проходить насквозь. Чтобы исключить нежелательные эффекты взаимодействия, тут нужно мудрить с кодом - например, отключать движение врага, когда он касается игрока.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Хорошо, спасибо большое!!! Попробую сделать какие-никакие костыли в коде

1
Киноман
Автор поста оценил этот комментарий
Я не так давно занимаюсь, может что не правильно написал, но в консоле пишет что упомянутый скрипт в этом поведение отсутствует(в старте написал так: "Debug.Log(GetComponent<Enemy>().anim);"

В самом теле триггера, там где у тебя if и else напиши

Debug.Log("триггер работает");


Таким образом если триггер срабатывает, у тебя будет выводиться сообщение в консоли, а ты точно будешь знать, что проблема не в этом.


Rb на враге не было)) Сейчас в консоле пишет "Parameter 'attack' does not exist.UnityEngine.Animator:SetTrigger (string)Enemy:OnTriggerStay2D (UnityEngine.Collider2D) (at Assets/Enemy.cs:52)" Но ведь условия есть

Ну вот и причина - параметра Attack не существует в Аниматоре.

Насколько я понимаю, ты передаешь аниматору условие "attack", хотя в самом аниматоре у тебя прописано enemyAttack.

По идее, если заменить в коде attack на enemyAttack, то все заработает.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо большое!

Все работает, только я сейчас вспомнил почему компонент r-body отключил..враг, если накинуть на него коллайдер круга отлетает от меня словно мяч, если коллайдер убрать, то враг заходит под текстуры игрока

показать ответы
0
Автор поста оценил этот комментарий

Я не так давно занимаюсь, может что не правильно написал, но в консоле пишет что упомянутый скрипт в этом поведение отсутствует(в старте написал так: "Debug.Log(GetComponent<Enemy>().anim);"

"Может чекбокс istrigger не поставил на коллайдере.." этот момент я не понял, на коллайдере который в инспекторе, который прикреплен к врагу ? Если поставить галочку триггер, то он за текстуры игрока заходит

Rb на враге не было)) Сейчас в консоле пишет "Parameter 'attack' does not exist.UnityEngine.Animator:SetTrigger (string)Enemy:OnTriggerStay2D (UnityEngine.Collider2D) (at Assets/Enemy.cs:52)" Но ведь условия есть

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества