Настройка жестких значений при обработке для любого размера экрана
Итак, я делаю игру со своей группой по обработке для проекта, и у нас у всех разные компьютеры. Проблема в том, что мы построили игру на одном компьютере, однако в этот момент мы поняли, что размер (1200,800)
, который мы использовали, не работает на нашем компьютере профессора. К сожалению, у нас есть жестко закодированные тысячи значений, чтобы соответствовать этой резолюции. Есть ли способ сделать его пригодным для всех компьютеров?
Из моих собственных исследований я обнаружил, что вы можете использовать screen.width
и screen.height
для того, чтобы получить размер экран, я установил игровое окно примерно на половину размера экрана. Однако все изображения, которые я загрузил для фона и прочего, имеют размер 1200x800, поэтому я не уверен, как изменить все мои изображения (фоны) и жесткие значения.
Есть ли способ исправить это, не меняя вручную 1000 жестких значений? (Да, я полностью осознаю, насколько плохо я жестко закодировал цифры).
Любая помощь будет весьма признательна. Как уже упоминалось в названии, язык является обработка.1 ответ:
Поскольку я уверен, что вы усвоили урок о жестких кодировках чисел, я ничего не скажу об этом:)
Вы, возможно, слышали встраивания PApplet обработки внутри стандартный Java JFrame или похожие. Если вы согласны с масштабированием изображения, которое рисует ваш Papplet'а (то есть он рисует его с разрешением, которое вы закодировали, а затем результирующее изображение масштабируется вверх или вниз, чтобы соответствовать экрану), то вы можете встроить свой papplet'а в кадр, захватить выходные данные papplet'а в изображение, масштабировать его. изображение, а затем нарисуйте его на экране. Быстрое гугление дало этот так называемый вопрос. Это может сделать вашу игру смешной, если разрешения слишком разные, но это быстрый и грязный способ. Возможно, вы захотите сделать это в отдельном потоке, как предложено здесь.
Сказав это, я не рекомендую этого делать. Одна из лучших вещей (IMO) обработки-это отсутствие необходимости напрямую связываться с AWT / Swing. Это также грязный Клудж, и "правильная вещь" - это просто вернуться назад и изменить жестко закодированные числа на переменные. Для ваших изображений вы можете использоватьpimage resize () . Вы говорите, что ваш код состоит из нескольких сотен строк, но на самом деле это не так уж много-лучше всего просто смириться с этим и быть несчастным в течение нескольких часов. Удачи вам!