Добавлен
Расскажите плиз подробнее, как сделать, чтобы если юнит атаковал в лоб, то наносилось 1 урона, а если сбоку(и слева и справа) или сзади, то 3 урона, у меня все никак не получается это сделать. Если юнит атакует слева или в лоб, то наносится 1 урона, а если справа или сзади то 3, немного не сходится.
Где я ошибся?

Принятый ответ

DARGO:
awesomesk1ll, где это условие? или я так понял это, видимо, действие? мне условие нужно ж
Это функция получения реального числа (реальное, оно же float - т.е дробное число с точкой), соотв. в гуи можно использовать это заместо любого реального числа.
Мысль следующая:
  1. Смотрим угол вектора от атакующего юнита до атакуемого юнита.
  2. Смотрим угол куда смотрит атакуемый юнит
  3. Если они совпадают = значит атака была ровно сзади, соответственно если различаются на 180град - атака ровно в лицо.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
15
10 лет назад
2
Фейсинг юнита надо сверять.
0
13
10 лет назад
0
Tobi123:
Фейсинг юнита надо сверять.
подробнее плз, а желательно скрин
0
28
10 лет назад
0
float a=GetUnitFacing(u);
0
13
10 лет назад
0
nvc123:
float a=GetUnitFacing(u);
а на гуи?
0
21
10 лет назад
0
DARGO:
а на гуи?
Боевая единица - Facing Angle
0
13
10 лет назад
0
awesomesk1ll, где это условие? или я так понял это, видимо, действие? мне условие нужно ж
а все разобрался спс
0
21
10 лет назад
Отредактирован awesomesk1ll
0
DARGO:
awesomesk1ll, где это условие? или я так понял это, видимо, действие? мне условие нужно ж
Это функция получения реального числа (реальное, оно же float - т.е дробное число с точкой), соотв. в гуи можно использовать это заместо любого реального числа.
Мысль следующая:
  1. Смотрим угол вектора от атакующего юнита до атакуемого юнита.
  2. Смотрим угол куда смотрит атакуемый юнит
  3. Если они совпадают = значит атака была ровно сзади, соответственно если различаются на 180град - атака ровно в лицо.
Принятый ответ
0
13
10 лет назад
0
awesomesk1ll, да, все, спасибо, разобрался уже))
Чтобы оставить комментарий, пожалуйста, войдите на сайт.