|
24.11.2011, 23:26
|
#1
|
Знающий
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений (для 74 пользователей)
|
Физика в 2D
Уже второй день мучаюсь, не могу сделать нормальный прыжок.
Возможно ли покадрово его сделать? Но только чтобы это не мешало в дальнейшем.
Вот пример
|
(Offline)
|
|
24.11.2011, 23:34
|
#2
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Физика в 2D
лучше двигать y позицию спрайта - меньше проблем будет.
|
(Offline)
|
|
24.11.2011, 23:36
|
#3
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Физика в 2D
Это физика ? Оо
|
(Offline)
|
|
24.11.2011, 23:38
|
#4
|
Знающий
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений (для 74 пользователей)
|
Ответ: Физика в 2D
Мне нужен прыжок. Со своими усилиями я могу сделать только так.
Если вам не трудно, помогите, может у кого код есть как прыжок сделать?
|
(Offline)
|
|
24.11.2011, 23:54
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Физика в 2D
Есть гравитация, постоянно тянет объект предположим вниз. Далее есть объект, имеет свою скорость инерции передвижения. Эта скорость изменяется под влиянием например трения, так и гравитации. Каждый цикл например если игрок ходит по земле, скорость инерции по координате X будет уменьшаться до нуля.
И каждый кадр скорость инерции игрока по Y будет уменьшаться, и даже ниже нуля - т.к. гравитация вниз. Как только игрок дотронеца до земли, скорость инерции по Y нужно установить на ноль.
Получается что просто установив Y инерции игрока на положительное число, то это значение по ходу времени будет уменьшаться.
Далее постоянно двигаешь игрока на скорость инерции по каждой оси.
Будет тебе прыжок.
А вообще, если до такого не додумываешься, то рано на форум полез, тебе нада примеры сомому кода поковырять, побольше эксперементов - меньше форума.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.11.2011, 23:55
|
#6
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Физика в 2D
player_y
player_yspeed=0
player_yaccel=0.1
if player_y<y_floor
player_yspeed=player_yspeed+player_yaccel
player_y=player_y+player_yspeed
else
player_yspeed=0
endif
DrawImage player, x, player_y
__________________
Ибо как сказал Бгдн:
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.11.2011, 00:09
|
#7
|
Знающий
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений (для 74 пользователей)
|
Ответ: Физика в 2D
Сообщение от MoKa
Есть гравитация, постоянно тянет объект предположим вниз. Далее есть объект, имеет свою скорость инерции передвижения. Эта скорость изменяется под влиянием например трения, так и гравитации. Каждый цикл например если игрок ходит по земле, скорость инерции по координате X будет уменьшаться до нуля.
И каждый кадр скорость инерции игрока по Y будет уменьшаться, и даже ниже нуля - т.к. гравитация вниз. Как только игрок дотронеца до земли, скорость инерции по Y нужно установить на ноль.
Получается что просто установив Y инерции игрока на положительное число, то это значение по ходу времени будет уменьшаться.
Далее постоянно двигаешь игрока на скорость инерции по каждой оси.
Будет тебе прыжок.
А вообще, если до такого не додумываешься, то рано на форум полез, тебе нада примеры сомому кода поковырять, побольше эксперементов - меньше форума.
|
В принципе понял. То есть у притяжения допустим скорость = 3. А у прыжка будет скорость равна 7. Тогда player пойдет вверх. Ну и собственно уменьшать её с каждым кадром до 0. А потом просто притяжение вернет player'a назад. Так ведь?
|
(Offline)
|
|
25.11.2011, 01:30
|
#8
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Физика в 2D
Сообщение от Okay
В принципе понял. То есть у притяжения допустим скорость = 3. А у прыжка будет скорость равна 7. Тогда player пойдет вверх. Ну и собственно уменьшать её с каждым кадром до 0. А потом просто притяжение вернет player'a назад. Так ведь?
|
Да. Тот код как раз об этом.
__________________
Ибо как сказал Бгдн:
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
22.05.2013, 10:33
|
#9
|
AnyKey`щик
Регистрация: 12.12.2012
Сообщений: 14
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Физика в 2D
Сообщение от Okay
В принципе понял. То есть у притяжения допустим скорость = 3. А у прыжка будет скорость равна 7. Тогда player пойдет вверх. Ну и собственно уменьшать её с каждым кадром до 0. А потом просто притяжение вернет player'a назад. Так ведь?
|
Да, только скорость притяжения - 9,8 м/с. Соответственно, и скорость прыжка побольше должна быть.
|
(Offline)
|
|
22.05.2013, 17:36
|
#10
|
Бывалый
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений (для 275 пользователей)
|
Ответ: Физика в 2D
Эм. Во-первых, ускорение свободного падения. Во-вторых, откуда такие данные? В игре все измеряется в пикселях, а не метрах, следовательно и масштаб совсем другой. Поэтому, ускорение свободного падения может быть любым, в зависимости от масштаба.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:54.
|