Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
48 / 37 / 27
Регистрация: 11.02.2014
Сообщений: 134
1

Анимация полета по кривой, как реализовать?

01.09.2014, 11:52. Показов 965. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Правильно ли я мыслю:
есть допустим башня с радиусом стрельбы R, просчитать попал ли в враг в зону атаки, нужно по катетам треугольника? Или есть какой-то другой алгоритм?
А как вот определить куда стрелять(ну и соответственно выполнить эту анимацию выстрела)?
Я думаю что для каждого выстрела нужна хранить:
его текущие координаты, его скорость и координаты положения противника(которые постоянно меняются). И постоянно просчитывать траекторию полета, в зависимости от положения снаряда и врага(куда надо прилететь), корректировать выстрел так сказать.
з.ы. снаряды принимаем условно самонаводящимися
з.ы.ы. например, как в Dota-е реализован механизм стрельбы башен, или атака рендж героев или полет заклинаний и т.п.
Вложения
Тип файла: pdf 11.pdf (20.8 Кб, 15 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2014, 11:52
Ответы с готовыми решениями:

Анимация полета товара в корзину
Добрый день! Может кто поделится готовым скриптом полета товара в корзину? Пробовал этот: function...

Анимация полета товара в корзину
Доброго времени суток! Есть скрипт анимации полета товара в корзину: function...

JS анимация, как реализовать?
У меня есть кнопка, когда на неё нажимаешь нужно чтобы плавно проигрывалась анимация движения...

Анимация кривой Безье
Доброго времени суток! Такая проблема: нужно построить анимацию кривой Безье как в Википедии -...

5
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
01.09.2014, 11:58 2
Цитата Сообщение от D_Ok Посмотреть сообщение
нужно по катетам треугольника?
да, т.е найти расстояние от башни до игрока, и проверить что оно меньше или равно радиусу стрельбы
Цитата Сообщение от D_Ok Посмотреть сообщение
А как вот определить куда стрелять(ну и соответственно выполнить эту анимацию выстрела)?
углом не получится, Вы запутаетесь, а так же дря просчета скорости надо будет брать синус или косинус угла, а они могут принимать одинаковые значения, я предлагаю задавать направление единичным вектором разложенным в пространстве х.у
Цитата Сообщение от D_Ok Посмотреть сообщение
его текущие координаты, его скорость и координаты положения противника(которые постоянно меняются)
достаточно текущей координаты
Цитата Сообщение от D_Ok Посмотреть сообщение
И постоянно просчитывать траекторию полета, в зависимости от положения снаряда и врага(куда надо прилететь), корректировать выстрел так сказать.
да да
т.ж быть может есть смысл сделать самоуничтожение снаряда если он улетел на оч большое расстояние от башни(снаряд не может преследовать вечно)
1
14 / 14 / 10
Регистрация: 14.11.2012
Сообщений: 58
01.09.2014, 13:30 3
нужно по катетам треугольника? Или есть какой-то другой алгоритм?
А как вот определить куда стрелять(ну и соответственно выполнить эту анимацию выстрела)?
Может попробовать использовать полярную систему координат? Это вроде решает Ваши проблемы и избавляет от гемора с треугольниками.
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
01.09.2014, 13:50 4
Цитата Сообщение от hdnn Посмотреть сообщение
Может попробовать использовать полярную систему координат?
а смысл? если все равно положение объекта описывается декартовой системой?
0
14 / 14 / 10
Регистрация: 14.11.2012
Сообщений: 58
01.09.2014, 14:29 5
Цитата Сообщение от aLarman Посмотреть сообщение
а смысл? если все равно положение объекта описывается декартовой системой?
Не вижу, где топикстартер ставит условие об использовании декартовой системы для объекта... Но не суть. Есть метод ещё проще - уравнение окружности.

Координаты башни: X,Y;
Радиус башни: R;
Координаты врага: x1,y1.

https://www.cyberforum.ru/cgi-bin/latex.cgi?({x}_{1} - X) + ({y}_{1} - Y) \leq R

Условие выполняется - враг в зоне поражения, выпускаем снаряд в координаты x1,y1.
И так перебираем все башни.
1
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
01.09.2014, 14:31 6
Цитата Сообщение от hdnn Посмотреть сообщение
Не вижу, где топикстартер ставит условие об использовании декартовой системы для объекта
быть может что при отображении объектов используется дек.система?
Цитата Сообщение от hdnn Посмотреть сообщение
Есть метод ещё проще - уравнение окружности
по сути тоже самое что ТС и писал, просто он не так выразился
0
01.09.2014, 14:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2014, 14:31
Помогаю со студенческими работами здесь

Отношение высоты полета и дальности полета
Тело брошено под углом к горизонту. Найдите, во сколько раз максимальная высота его подъема меньше...

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

Анимация в dos - реализовать очистку экрана при перерисовке
подскажите пожалуйста чайнику, я написал код, сосуд мой двигается, но не стирается и поэтому...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru