Показать сообщение отдельно
Старый 28.11.2011, 09:50   #115
Платон Александрович
Нуждающийся
 
Аватар для Платон Александрович
 
Регистрация: 05.10.2011
Адрес: Россия, Южно-Сахалинск
Сообщений: 66
Написано 42 полезных сообщений
(для 83 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Сообщение от Greymem Посмотреть сообщение
Не понятно только зачем нужен цикл. =)
facepalm
ты хоть читаешь что я пишу или сразу код копипастишь?
вот такой итеративный алгоритм вроде работает:
пункты 2,3,4 повторить несколько раз
Каждый цикл увеличивает точность, поэтому нужно несколько раз повторить расчет. Может конечно есть нормальный алгоритм упреждения, но этот работает и пофиг

Сообщение от Greymem Посмотреть сообщение
Как сделать теже самые расчеты используя только одну переменную направления?
Это как? Для двумерного случая вектор направления и должен иметь две компоненты. А если тебе нужна инфа о направлении в одной переменной, то это есть ни что иное как угол А из угла вектор направления извлекается с помощью синуса и косинуса, вот так: X = Sin(Угол), Y = Cos(Угол) (или наоброт, зависит от осей координат)
Иначе говоря в коде расчета, перед циклом, был такой расчет скорости цели:
Local TargetVelocityX:Float = TargetDirectionX * TargetSpeed
Local TargetVelocityY:Float = TargetDirectionY * TargetSpeed
а будет такой
Local TargetVelocityX:Float = Sin(TargetAngle) * TargetSpeed
Local TargetVelocityY:Float = Cos(TargetAngle) * TargetSpeed
где TargetAngle угол направления движения цели

Сообщение от Greymem Посмотреть сообщение
Осталось заранее узнать координату в которой они столкнуться.
Можете помочь?
После цикла расчета переменные DeflexionX и DeflexionY как раз и будут содержать координаты цели где она столкнется с пулей.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Greymem (28.11.2011)