Гравитационное моделирование для мяча

Я реализую эту игру, которая использует гравитацию, но я не знаю, как симулировать гравитацию для шара.

У меня есть таймер, который запускается сразу после того, как я «уронил» мяч, и мне нужно установить вертикальное положение моего предметного шара.

Связанные функции:

int ball->setVerticalPosition(int Y);
float timer->getTime();

Спасибо!

0

Решение

Хорошо, в общем, вы бы рассчитали новую позицию (pos_y) с помощью этого уравнения:

t = timer->getTime();
float pos_y = pos_y0 + v_0*t - 4.9 * t *t;
ball->setVerticalPosition(pos_y);

(v_0 — начальная скорость, а pos_y0 — начальные координаты вашего мяча). В вашем случае вы говорите, что вы «сбрасываете» мяч, поэтому, вероятно, будет лучше, если вы уберете v_0 * t. И pos_y0 — исходная высота (зависит от вашей системы координат).

Не забудьте проверить, когда pos_y = 0 (возможно, ваш этаж!)

8

Другие решения

Я дал 4,9, потому что сила тяжести равна 9,8, а уравнение равно «1/2 * g * t * t», я просто разделил и дал окончательное число. Это в «метрах», например, следует преобразовать в пиксели.

3

По вопросам рекламы [email protected]