2014-01-27 3 views
1

Я понимаю, почему нет критерия размера пикселя (разрешения) для ресурсов, таких как drawable, но у меня есть проблема, я не знаю, как решить игру, используя Open GL:
Я не меняю ширину того, что вы горизонтально видите в зависимости от размера экрана, чтобы избежать экранов с большим разрешением или плотности, чтобы увидеть «дальше», чем маленькие экраны. Это означает, что спрайт, который покрывает половину экрана на телефоне небольшого размера и плотности, также будет покрывать половину экрана на высокой панели большого планшета. Но я хотел бы иметь разные PNG-файлы для обоих случаев, потому что, например, спрайт будет 200 пикселей на маленьком телефоне и 600 пикселей на планшете. Это означает, что если я использую маленькое разрешение png (например, 256 * 256), качество спрайта будет плохой на большом экране, и если я использую большое разрешение pgn (например, 512 * 512 или 1024 * 1024), это будет излишним и потребляют тонны памяти (ни за что) на маленьком телефоне. Я знаю о mip-сопоставлении, но на самом деле он не решает проблему здесь (он торгует только отходы графического процессора для отходов памяти в случае небольшого телефона).Обходное решение для определения разрешения для Android

Идеальное решение для этого было бы иметь квалификаторы ресурсов для размера пикселей (и не размером в дюйм), но их не существует. Как мы должны это понимать? Должны ли мы предполагать, что высокое устройство DPI (или высокого размера?) Обычно имеет высокие разрешения? Нужно ли создавать «комбинированные» квалификаторы (например, drawable-hdpi-large)?

Дополнительный вопрос: Обычно принято предполагать, поддержка до 1024 * 1024 текстур?

ответ

0

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

Было бы здорово, если бы была система, в которой вы могли бы предоставить много изображений при произвольных размерах пикселей, и Android просто выберет ближайший из них на основе желаемого размера. Но, похоже, система загрузки ресурсов, поскольку она предназначена только для самих чертежей, должна диктовать размер.