Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 24.11.2011, 23:26   #1
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Физика в 2D

Уже второй день мучаюсь, не могу сделать нормальный прыжок.
Возможно ли покадрово его сделать? Но только чтобы это не мешало в дальнейшем.
Вот пример
(Offline)
 
Ответить с цитированием
Старый 24.11.2011, 23:34   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Физика в 2D

лучше двигать y позицию спрайта - меньше проблем будет.
(Offline)
 
Ответить с цитированием
Старый 24.11.2011, 23:36   #3
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Физика в 2D

Это физика ? Оо
(Offline)
 
Ответить с цитированием
Старый 24.11.2011, 23:38   #4
Okay
Знающий
 
Регистрация: 21.11.2011
Сообщений: 284
Написано 17 полезных сообщений
(для 74 пользователей)
Ответ: Физика в 2D

Мне нужен прыжок. Со своими усилиями я могу сделать только так.
Если вам не трудно, помогите, может у кого код есть как прыжок сделать?
(Offline)
 
Ответить с цитированием
Старый 24.11.2011, 23:54   #5
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Физика в 2D

Есть гравитация, постоянно тянет объект предположим вниз. Далее есть объект, имеет свою скорость инерции передвижения. Эта скорость изменяется под влиянием например трения, так и гравитации. Каждый цикл например если игрок ходит по земле, скорость инерции по координате X будет уменьшаться до нуля.
И каждый кадр скорость инерции игрока по Y будет уменьшаться, и даже ниже нуля - т.к. гравитация вниз. Как только игрок дотронеца до земли, скорость инерции по Y нужно установить на ноль.
Получается что просто установив Y инерции игрока на положительное число, то это значение по ходу времени будет уменьшаться.
Далее постоянно двигаешь игрока на скорость инерции по каждой оси.
Будет тебе прыжок.

А вообще, если до такого не додумываешься, то рано на форум полез, тебе нада примеры сомому кода поковырять, побольше эксперементов - меньше форума.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Okay (25.11.2011)
Старый 24.11.2011, 23:55   #6
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (22.01.2012)
Старый 25.11.2011, 00:09   #7
Okay
Знающий
 
Регистрация: 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
Gector
Легенда
 
Аватар для Gector
 
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений
(для 5,072 пользователей)
Ответ: Физика в 2D

Сообщение от Okay Посмотреть сообщение
В принципе понял. То есть у притяжения допустим скорость = 3. А у прыжка будет скорость равна 7. Тогда player пойдет вверх. Ну и собственно уменьшать её с каждым кадром до 0. А потом просто притяжение вернет player'a назад. Так ведь?
Да. Тот код как раз об этом.
__________________
Ибо как сказал Бгдн:
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (22.01.2012)
Старый 22.05.2013, 10:33   #9
Gamemaker1
AnyKey`щик
 
Регистрация: 12.12.2012
Сообщений: 14
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Физика в 2D

Сообщение от Okay Посмотреть сообщение
В принципе понял. То есть у притяжения допустим скорость = 3. А у прыжка будет скорость равна 7. Тогда player пойдет вверх. Ну и собственно уменьшать её с каждым кадром до 0. А потом просто притяжение вернет player'a назад. Так ведь?
Да, только скорость притяжения - 9,8 м/с. Соответственно, и скорость прыжка побольше должна быть.
(Offline)
 
Ответить с цитированием
Старый 22.05.2013, 17:36   #10
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Физика в 2D

Эм. Во-первых, ускорение свободного падения. Во-вторых, откуда такие данные? В игре все измеряется в пикселях, а не метрах, следовательно и масштаб совсем другой. Поэтому, ускорение свободного падения может быть любым, в зависимости от масштаба.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
DarkMedveD (22.05.2013)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 05:02.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com