Суббота, 23 Ноября 2024, 21:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Толчок
Handsome_PhilДата: Четверг, 20 Марта 2014, 13:45 | Сообщение # 1
был не раз
Сейчас нет на сайте
Как сделать толчок для платформера, от поверхности или в воздухе в противоположном направление мышке?
Голову сломал) Нечего не придумал
Точнее даже не толчок, а подобие реактивного ранца))


Сообщение отредактировал Handsome_Phil - Четверг, 20 Марта 2014, 14:04
VickaДата: Четверг, 20 Марта 2014, 15:39 | Сообщение # 2
Another ART
Сейчас нет на сайте
На удивление просто)
реально в пару кликов)



ранеЦ

Добавлено (20.03.2014, 15:39)
---------------------------------------------
К стати партиклы по желанию) Они там для красоты)


SanchesДата: Четверг, 20 Марта 2014, 16:12 | Сообщение # 3
участник
Сейчас нет на сайте
Handsome_Phil, если у героя поведение Platform, то нужно изменять скорость при нажатии мышки: у героя в действиях для поведения Platform выбираешь Set X component of motion или Set Y component of motion.
Hero[Platform].VectorX+cos(Angle(MouseX, MouseY, Hero.X, Hero.Y))*Timedelta*100 - скорость по Х
Hero[Platform].VectorY+sin(Angle(MouseX, MouseY, Hero.X, Hero.Y))*Timedelta*100 - скорость по Y
Hero - имя твоего спрайта. В конце стоит 100 - это сила толчка. Пробуй изменять её, пока не добьёшься нужного эффекта.


Сообщение отредактировал Sanches - Четверг, 20 Марта 2014, 18:39
Handsome_PhilДата: Четверг, 20 Марта 2014, 16:21 | Сообщение # 4
был не раз
Сейчас нет на сайте
Sanches, Вроде это для одной оси, а мне надо по направлению)
Neia, Спасибо)
SanchesДата: Четверг, 20 Марта 2014, 18:40 | Сообщение # 5
участник
Сейчас нет на сайте
Handsome_Phil, извини, во втором выражении вместо VectorX пиши VectorY и сos замени на sin. Исправил сообщение, теперь всё работает по обеим осям.
Handsome_PhilДата: Пятница, 21 Марта 2014, 12:16 | Сообщение # 6
был не раз
Сейчас нет на сайте
Sanches, Оу) Теперь здорово получается

Добавлено (21.03.2014, 12:16)
---------------------------------------------
Sanches, А как ты до этого догадался? Или где прочитал, просто не могу понять почему нужно использовать именно синусоид и косинусоид и всё остальное)

LasmelanДата: Пятница, 21 Марта 2014, 14:27 | Сообщение # 7
Construct 2 & Classic
Сейчас нет на сайте
Neia, а нельзя частицам задавать угол спрайта4? Почему с дополнительным спрайтом?
А, или частицы нельзя повернуть к объекту, только задать угол...


Мое портфолио:

Сообщение отредактировал Lasmelan - Пятница, 21 Марта 2014, 14:33
SanchesДата: Суббота, 22 Марта 2014, 17:24 | Сообщение # 8
участник
Сейчас нет на сайте
Handsome_Phil, тут всё просто.
Синус и косинус позволяют получить проекции реактивной силы на оси Y и Х соответственно. Выражение Angle(x1, y1, x2, y2) получает угол между точками 1 и 2, это и есть угол действия силы реактивного ранца. Найдя проекции на обе оси имеем полное право прибавить к текущей скорости по каждой оси нашу проекцию ускорения. И домножить на Timedelta, чтобы сила толчка не зависела от FPS.
Это вроде бы есть в учебниках физики 8-9 класса, не помню точно. Ну и геометрия иногда пригождается.

Lasmelan, в любом случае можно получить этот угол между объектами, см. выше как.


Сообщение отредактировал Sanches - Суббота, 22 Марта 2014, 17:25
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг