Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.06.2019
Сообщений: 39
1

Нанесение урона от взрыва

30.07.2020, 12:13. Просмотров 1249. Ответов 2

Добрый день/вечер! Ломаю голову вот уже неделю над этой темой, нужно наносить урон по объектам в зависимости от их дистанции. Если объект находится в центре взрыва, то урон по нему проходит максимальное, соответственно, если объект находится дальше от центра взрыва, то урон проходит меньше.

Нашел такую формулу
C#
1
2
enemy.HP -= ((Vector3.Distance(MaxRadius.transform.position, enemy.transform.position) /
                                         (Vector3.Distance(transform.position, MaxRadius.transform.position))) * 100);
Но он работает только в одном направлении, а нужно это сделать радиусом.
0
Миниатюры
Нанесение урона от взрыва  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2020, 12:13
Ответы с готовыми решениями:

Нанесение урона
Есть скрипт Gun с методом shoot и скрипт EnemyController с методом hurt. Как сделать так, чтоб...

Нанесение урона кораблю
TSpaceObject = class Image:TImage; procedure Process; virtual; constructor create(x, y,...

Текстовая стратегия в консоли. Нанесение урона персонажам
Доброе время суток! Ребята подскажите как можно написать бой между 2 персонажами... Т.е. Есть к...

Реализация урона от пуль
Нужна помощь, не могу в игре реализовать попадание пули по объекту, попросту не понимаю как это...

2
2444 / 1258 / 210
Регистрация: 26.02.2009
Сообщений: 5,324
Записей в блоге: 5
30.07.2020, 19:01 2
Fantan4ik, а кто такой MaxRadius? Точка на границе взрыва?
И где координаты бочки? Или это в методе бочке?

Delphi
1
2
3
4
5
6
7
Rmax := 100;// радиус взрыва
HPmax := 500; // максимальный урон (если враг в эпицентре)
R := Vector3.Distance( координаты_бочки, enemy.transform.position ); // расстояние от врага до эпицентра взрыва
if R <  Rmax then
begin
  enemy.HP := enemy.HP - HPmax*( (RMax-R) / RMax );
end;
1
0 / 0 / 0
Регистрация: 09.06.2019
Сообщений: 39
01.08.2020, 17:47  [ТС] 3
MaxRadius - это максимальный радиус действия взрыва, а координаты бочки определяются сами (в методе бочке)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2020, 17:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перемещение с нанесением урона
у меня имеется мой персонаж, и персонаж который привязан к моему, и постоянно следует за ним с...

Эффект взрыва
Есть стенка, сложенная из блоков - твёрдых тел, какие есть способы приложить к ним силу ко всем,...

Анимация взрыва
Как реализовать и в какую сторону капать?? У меня есть игра в которой есть окно 7 на 6 клеток и...

Не увеличивается значение урона с повышением уровня
Описал пулеметную башенку: ее уровень, урон в минуту. Также описал получение опыта при нанесении...

Вместо нанесения урона сразу убивает
Здравствуйте, у меня проблемка небольшая. У меня есть 2 скрипта: 1. Это Enemy(враг) 2. Это...

Анимация взрыва текста
Есть шейдер, который рендерит &quot;векторный шрифт&quot; (обрабатывает 2 треугольника). Мне нужно сделать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.