Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2011, 21:14   #1
wolf_den
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 14
По умолчанию DelphiX траектория полета мяча в волейболе

В общем делаю волейбол на DelphiX и никак не могу заставить летать мячик по нормальному, по кривой, по физическим законам... сейчас он двигается по прямым, вот код, который сейчас отвечает за движение
Код:
procedure TBall.Hit;    //движение мячика
begin
 x:=X+velx;
 y:=y+vely;

 if X>800 - Image.Width  then
 begin
   X:=800-image.Width;
   velx:=-velx;
 end
 else if X<0 then
 begin
  X:=0;
  Velx:=-velX;
 end;

  if y>600-Image.Height  then
 begin
   y:=600 -image.Height;
   vely:=-vely;
 end
 else if y<0 then
 begin
  y:=0;
  Vely:=-vely;
 end;
end;
единственное что нашел так это формулы из учебника физики:
x=x0+v0*cos(a)*t - изменение х, где а-угол столкновения
y=y0+v0*sin(a)*t-((g*t^2)/2) - изменение у
s=(v0^2)*sin^2(a/g) - максимальная дальность полета

помогите кто чем может...
Вложения
Тип файла: rar ИГРА.rar (1.14 Мб, 20 просмотров)
wolf_den вне форума Ответить с цитированием
Старый 08.12.2011, 22:53   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

У мяча есть 3 параметра позиция, радиус и скорость. Новая позиция = Текущая + скорость * изменение времени. Новая скорость = Текущая - Ускорение свободного падения * изменение времени.
Мяч ударяется о круглую голову игрока, которая имеет позицию, радиус и скорость.
При ударении мяча о голову игрока, сначала нужно вытолкнуть мяч из головы(т.е. из-за дискретности времени мяч пересечет голову, а не коснется ее), выталкивание делается в направлении от позиции головы к позиции мяча, затем в этом же направлении отразить вектор скорости Новая скорость = нормализированный вектор направления * длину вектора скорости * коэффициент потери скорости + проекция вектора скорости игрока на вектор направления.
Уф, вроде ничего не напутал )

Последний раз редактировалось Kostia; 08.12.2011 в 23:00. Причина: проекция, а не отображение )))
Kostia вне форума Ответить с цитированием
Старый 08.12.2011, 23:18   #3
wolf_den
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 14
По умолчанию

Kostia, жестко))) а что ты за игру делал и на чем? не поделишься исходником, а то ну очень надо((
wolf_den вне форума Ответить с цитированием
Старый 08.12.2011, 23:28   #4
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Delphi уже год не открывал, впрочем его у меня и нет )), а старые поделки остались.
Вложения
Тип файла: rar Примитив 2 - окружности.rar (180.0 Кб, 33 просмотров)
Kostia вне форума Ответить с цитированием
Старый 08.12.2011, 23:47   #5
wolf_den
Пользователь
 
Регистрация: 28.10.2011
Сообщений: 14
По умолчанию

адская вещь)) а VectMath - это я так понимаю типа движок? как вообще движки подключаются и как с ними работать? а то для DelphiX вроде есть пара аркадных движков в сети, но что с ними делать не совсем понятно
wolf_den вне форума Ответить с цитированием
Старый 09.12.2011, 06:56   #6
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

VectMath это всего лишь библиотека для работы с векторами. Векторное, скалярное произведения, вычитание, сложение векторов, умножение на скаляр, нормализация, длинна вектора...
Kostia вне форума Ответить с цитированием
Старый 21.05.2018, 16:56   #7
doneto
 
Регистрация: 30.08.2009
Сообщений: 7
По умолчанию

спасибо. будем пробовать...
doneto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Траектория Leshiy1 Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2011 21:32
Траектория полета Medik07 C# (си шарп) 1 17.02.2011 22:53
Траектория полета снаряда... iMax` Общие вопросы C/C++ 7 29.12.2010 07:12
Траектория полёта deel Помощь студентам 15 01.12.2010 10:11
Расчет полета ракеты reydor Помощь студентам 0 05.10.2010 15:46