2017-01-15 2 views
-2

Я делаю игру некоторое время, но ее немного медленный и неуклюжий. Мне было интересно, связано ли это с тем, как я рисовал изображения на экране. Я сохранил отдельные спрайты в качестве BufferedImages и отобразил их на холсте и перерисовал их, когда мне было нужно. Мой вопрос: есть ли лучший способ рисовать спрайты? Мне кажется, что нужно перерисовывать каждый BufferedImage, когда игрок перемещается, неэффективен, и должны быть более умные способы рисования графики.(Java) Лучший способ отображения изображений?

+1

Вообще говоря, подход, который вы принимаете, является правильным, но без запускаемого примера его невозможно узнать, правильно ли вы это делаете. – MadProgrammer

+0

В настоящее время компьютеры имеют гораздо больше, чем достаточно, чтобы полностью перерисовать 2D-экраны каждый цикл, и это то, что подавляющее большинство игр. Десятилетия назад они использовали такие трюки, как стирание спрайтов и их перерисовку, чтобы не обновлять фоны, но такие методы не использовались в течение очень долгого времени. Если ваша игра медленная и неуклюжая, это, вероятно, по другим причинам (если вы не пытаетесь привлечь действительно огромное количество спрайтов). – Dolda2000

ответ

0

У меня были схожие проблемы со скоростью выполнения. То, что я делал, уменьшало количество раз, когда моя программа переводилась на экран. Для этого я использовал метод Thread.sleep (int). При этом он только нарисовал на экране определенное количество раз, а не примерно 1000 раз/сек.

Смежные вопросы