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

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

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 09.03.2009, 14:40   #1
DeMoNN
AnyKey`щик
 
Регистрация: 03.03.2009
Сообщений: 18
Написано 3 полезных сообщений
(для 4 пользователей)
Гравитация и траектория прыжков

Собственно как программируется гравитация и находится траектория управляемого прыжка (во время прыжка можно менять направление клавишами 4 и 6). Кому не сложно, дайте алгоритм или хоть начек на него.
(Offline)
 
Ответить с цитированием
Старый 09.03.2009, 15:15   #2
jimon
 
Сообщений: n/a
Ответ: Гравитация и траектория прыжков


вот уравнение зависимости координаты от времени
тут x(0) - начальное положение, u - начальная скорость, a - ускорение
дельта t - это t - t0, обозначим dt (лень искать знать дельты в юникоде), t0 время когда начался прыжок

при прыжке получаем
x(t) = x(0) + Ux * dt + (1/2)*(k(t))*(dt^2)
y(t) = y(0) + Uy * dt + (1/2)*(-g)*(dt)^2
где g это гравитация, k(t) это функция которая будет возращать некоторое ускорение для управления прыжком (влево, вправо)

вот и всё

ps. конечно на практике намного проще добавлять и отнимать положение по x прямо в координатах
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
DeMoNN (09.03.2009), luk Skyuoker (16.07.2009), tormoz (09.03.2009)
Старый 16.07.2009, 14:37   #3
luk Skyuoker
AnyKey`щик
 
Регистрация: 22.02.2009
Сообщений: 14
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Гравитация и траектория прыжков

jimon, чегот у меня фигура по этой формуле прямо летит... по линии... А ты не можешь подсказать как сделать нормальную обработку столкновения... ну наприпимер с полом, в зависимости от массы и обьёма... а то я хочу наприимер сделать кирпичь, а он у меня прыгает как мячик!
---
---
есть ещё такая фишка
Подьём вверх- y1 = y0-gt\
! точно не помнЮ!
Спуск вниз- y1 = y0+gt/
---
---
А вообще я делал так
var x, y, ux, uy, g: integer;
Begin
x:=0;
y:=getHeight;
ux:=7;
uy:=30;
g:=3;
   Repeat
      x:=x+ux;
      y:=y-uy;
      uy:=uy-g;
    setColor(255,255,255);
    fillRect(0,0,getWidth,getHeight);
    setColor(0,0,0);
    fillEllipse(x,y,5,5);
    repaint;
    delay(200);
   Until y>getHeight;
end.
// тестировал на KEmulator'e

Последний раз редактировалось luk Skyuoker, 16.07.2009 в 15:00.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гравитация в X Y Z TEHb08 Blitz3D 38 06.01.2009 16:39
аркадная FPS, прыжок и гравитация DMX 3D-программирование 18 19.06.2008 18:29
Гравитация dimond 3D-программирование 20 05.10.2007 13:17
Простая гравитация untouchable 3D-программирование 5 14.03.2007 18:22
Гравитация magpro 3D-программирование 9 08.09.2006 00:28


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


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