0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 55
1

Враг не наносит урон по игроку

24.05.2018, 04:41. Показов 1727. Ответов 6
Метки нет (Все метки)

Привет! Подскажите, в чём проблема? Нужно чтобы враг бил меня, если он подошёл ко мне, а на моём слайдере отнимались жизни, и игрок умирал. На враге всё работает отлично, бью его и он теряет хп, затем умирает. На персонаже же вообще не работает, враг просто подходит и проигрывает анимацию удара, значение на слайдере вообще не отнимается.

В чём дело? Я уверен что всё делаю правильно, что за бред?

Вот урон по игроку (висит на игроке)

C#
1
2
3
4
5
6
7
8
9
   public void AddPlayerDamage(int damage2)
        {
            health2 -= damage2;
            healthBar2.value = health2;
            if (health2 <= 0)
            {
                Debug.Log("Я тяжело ранен!");
            }
        }


Вот триггер на враге

C#
1
2
3
4
5
6
7
8
void OnTriggerEnter2D(Collider2D collider2)
    {
        if (collider2.tag == "Player")
        {
            PlayerController pCon = collider2.GetComponent<PlayerController>();
            pCon.AddPlayerDamage(10);
        }
    }

Всё должно работать как часы по идее. Не могу понять в чём проблема, где косяк. Спасибо заранее.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2018, 04:41
Ответы с готовыми решениями:

Wi-Fi наносит вред?
Правда, что Wi-Fi ухудшает качество спермы?

ТекДата наносит ответный удар
Доброго времени суток. Возникла проблемка с датой. В одно документе нужно вывести две определенные...

Двойной урон
При попадании, наноситься двойной урон. Метод ApplyDamage почему-то вызывается два раза. P.S....

Урон от соприкосновения
Народ помогите пожалуйста!У меня есть переменная int healt = 100,мне нужно при соприкосновении с...

6
27 / 25 / 9
Регистрация: 10.08.2016
Сообщений: 148
24.05.2018, 09:07 2
(на враге) в этой строке разве ты ссылаешься именно на скрипт плауера который должен висеть на игроке?
C#
1
PlayerController pCon = collider2.GetComponent<PlayerController>();
может сделаешь лучше прямую ссылку на скрипт плауреа, например через инспектор
0
0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 55
24.05.2018, 10:59  [ТС] 3
Да, я проверил, я ссылаюсь именно на PlayerController игрока.
0
27 / 25 / 9
Регистрация: 10.08.2016
Сообщений: 148
24.05.2018, 12:10 4
попробуй где это возможно вызвать логи Debug.Log
таким образом найдешь где именно не меняется значение

перепроверь все связки в инспекторах, иерархию объектов и тд.
0
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
24.05.2018, 12:32 5
Цитата Сообщение от IStayAway Посмотреть сообщение
C#
1
2
3
public void AddPlayerDamage(int damage2) {
   health2 -= damage2;
   healthBar2.value = health2;
выведите в лог значения health2 и healthBar2.value и увидите что там меняется или нет.

Добавлено через 1 минуту
а может у вас стремная (100500) валуе и не заметно изменение...
0
0 / 0 / 0
Регистрация: 04.04.2018
Сообщений: 55
24.05.2018, 14:12  [ТС] 6
Спасибо, уже разобрался.

Проблема была в том, что мне не нужен был триггер, так как у меня enum, и вызывать
C#
1
2
 PlayerController pCon = collider2.GetComponent<PlayerController>();
            pCon.AddPlayerDamage(10);
нужно было в нём. Простите идиота, только начал изучать Unity, не знал что оно вот так работает. По крайней мере я чему-то научился. Всё равно спасибо что откликнулись на помощь.
0
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
24.05.2018, 15:12 7
Цитата Сообщение от IStayAway Посмотреть сообщение
мне не нужен был триггер, так как у меня enum
а каким образом связаны эти 2 вещи?

хотя наверное знаю)

сцена.
забегает ГГ на поляну.
видит врага, враг смотрит в глаза ГГ, ГГ в глаза врагу, между ними пробежали искры.
враг со словами "Я НУМЕРАТОР" херачит ГГ плойкой на весь екран...
занавес накрывает дохлого ГГ.

Добавлено через 7 минут
Цитата Сообщение от IStayAway Посмотреть сообщение
C#
1
PlayerController pCon = collider2.GetComponent<PlayerController>();
и кстати а откуда вы собрались брать collider2 если не будете использовать триггер?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2018, 15:12
Помогаю со студенческими работами здесь

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

Урон от взрыва гранаты
скрипт для реализации эффекта взрыва public Transform BoomDetonator; public float TimeBoom...

Милый враг, с ДР!
Сегодня ДР у Милый Враг не довелось (пока) познакомится в реале, но знаком по форумным постам (их...

Враг недремлет!
Вчера вечером решил добавить новый сайт в РСЯ. Пихнул его на модерацию через ЦОП. Пока жду...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru