![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.01.2012
Сообщений: 35
|
![]()
Я делаю классический Pong на делфи. И у меня возник вопрос: Как разнообразить физику? Я пока что сделал только отражение согласно углу попадания, но получается монотонно, и каждый раз один и тот же расклад.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
![]()
Можно при столкновении ракетки шарика определять направление и скорость движния ракетки и взависимости от этого менять угол отражения(или даже закручивать)
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
![]()
Эм в пинг-понге не понятия силы удара. Ракетка движется только по одной оси
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 684
|
![]()
ну можете добавить силу ветра, меняющуюся со временем
![]()
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой? |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 16.01.2012
Сообщений: 35
|
![]()
Я попытался сделать функцию, которая сможет создавать вектор любого угла. Но эта функция должна работать с вещественными числами, которые в свою очередь несовместимы с координатами. Приходится округлять, и получается что возможные векторы, это (1,1), (0,1) и т.д. Может у вас есть предположения, по реализации этой функции?
Код:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
![]()
как вариант, считай все (cx, cy) во float'ах, а в процедуре прорисовки приводи все к integer.
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
при движении предмета координаты рассчитываются не от последней точки, а от некой начальной точки (обычно это точка последнего изменения траектории(точка столкновения/удара). В этом случае погрешность расчета (округления) не будет накапливаться.
posX:=round(playstart_X* speed*count); count:=count+1;
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 16.01.2012
Сообщений: 35
|
![]()
А какую роль здесь играет count? И как применять этот код, можно пожайлуста поподробнее?
Последний раз редактировалось demigod82; 02.03.2012 в 17:27. |
![]() |
![]() |
![]() |
#10 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
Цитата:
При смене точки отсчета Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 10.03.2012 в 22:45. |
|||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пин Понг | Wollfs | Общие вопросы C/C++ | 2 | 18.04.2011 20:33 |
Пинг понг (паскаль) | Katmai | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 29.10.2010 22:59 |
Пинг-понг | Ckomoroh | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 27.08.2010 18:33 |
Змейка, тетрис, пинг-понг....и т.д. А где найти исходники? | Манжосов Денис :) | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 05.07.2010 14:37 |