Толчок
|
|
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 |
|
| |