Android Sprite Jump Физика и независимость экрана

Я пишу 2D-игру Surfaceview уже целую вечность, и я просто не могу разобраться с независимостью экрана для Android.

По сути, мой спрайт прыгает примерно так: значение Y уменьшается на величину (я называю это "величиной шага"), затем величина шага уменьшается, скажем, на 1, и это продолжается до тех пор, пока величина шага не станет отрицательным числом, которое затем фактически добавляется к значению Y спрайта, и он "падает" обратно - работает отлично (так я всегда делал спрайты "прыгающими").

Проблема возникает, когда я запускаю это на другом экране DPI - он все еще работает, но спрайт прыгает на совершенно другую высоту относительно размера экрана.

Я понимаю, почему это происходит, но я просто не могу найти способ это исправить!

Как мне заставить его "прыгать" на правильную высоту на всех экранах? (Я работаю в основном с 160 и 240 DPI на данный момент)

Спасибо, буду очень признателен за любые комментарии.

С уважением

0 ответов

Другие вопросы по тегам