Я только начал делать свою первую игру на Java, и я получил довольно далеко. Игра - это вариант знаменитого Панга, который я много играл в детстве. Я только начал кодировать прыгающие мячи в игре, и я застрял. Я не могу получить реалистичную гравитационную тягу, чтобы воздействовать на мяч.Не могу получить правильную гравитацию для работы
Я создал тестовый проект, так что я не испортить настоящую игру. Там также есть Frame.java, но поскольку работа заключается только в создании фрейма, я думал, что не буду включать его. Проблема заключается в том, что один пиксель на 5 мс (dx/dy = 1) должен быть быстрым, потому что мяч должен достигнуть почти полной остановки, когда он находится на самой высокой точке.
Поэтому я решил пойти с поплавками, так как он поддерживает десятичные знаки. Это оказалось также болью в заднице, так как g2d.drawImage();
требует img,int,int,observer
. Я полностью понимаю это, потому что перемещение 0,5 пикселей было бы невозможно.
Как я могу переписать код, чтобы я мог получить прорыв гравитационного тяги на мяче? Должен ли я переписать крошечный движок или есть другие более простые способы сделать это?
Код дает ошибки на текущий момент, из-за ситуации int
/float
.
Единственное предложение, которое я имею разработать двойную систему координат, что это реалистичный размер. Скажите игровое поле 50 метров в высоту и 25 метров в высоту. Вы можете рассчитать гравитацию, используя более реалистичные числа. Наконец, вы преобразуете свою двойную систему координат в систему координат чертежа, чтобы поместить изображения на экран. –