Розглянемо, як насправді генерувати зменшені версії під час розробки та включати їх безпосередньо в гру як ресурс. Зробіть це за допомогою Photoshop або будь-якого інструменту, який ви знайдете, створює те, що вам подобається. Після цього грайте динамічно виберіть потрібний набір мистецтва, відповідний поточній роздільній здатності.
Ось кілька причин, через які ви могли це зробити ...
Економить обробну роботу
Якщо ви виконали масштаб програмно під час виконання програми, ваше програмне забезпечення, ймовірно, все одно створить та кеширує твори мистецтва. То чому б не просто включити зменшені версії в пакет об’єктів мистецтва? Я думаю, якщо це зробить завантаження більшим, ніж ви хочете, це може мати значення, але ви заощадите на деякому завантаженні процесора, записі диска тощо.
Більший художній контроль
Якщо ви самостійно зміните масштаб мистецтва, ви матимете більший контроль над остаточним виглядом. Це може не змінити значення, якщо ви зменшите невелику кількість, але коли ви отримаєте набагато менші роздільні здатності, можливо, ви захочете мати кращий художній контроль над остаточним виглядом. Наприклад, якщо очі конкретного персонажа потрібно підкреслити, ви можете насправді намалювати версії нижчої роздільної здатності, коли очі не будуть зменшені настільки, щоб зберегти ефект - те, що програмування не може зробити.
Динамічне масштабування не є ідеальним
Ви можете приймати виразні художні рішення, які не працюють з динамічним масштабуванням. Наприклад, припустимо, що ви хочете поставити рамку, контур або виділити навколо зображення. При перегляді з більшою роздільною здатністю це може виглядати нормально, але зменшена версія може замулити або повністю втратити ефект. Але якщо це зроблено вручну, ви можете спеціально застосувати ефект до кожного розміру і гарантувати, що ви збережете вплив.
Інші думки
Ви також можете виконати гібридний підхід із набором ресурсів, що залежать від роздільної здатності, які використовуються там, де їх знайдено, та загальним набором, який динамічно масштабується, якщо не знайдена версія, що стосується конкретної роздільної здатності. Це трохи схоже на те, як працює платформа Android. Деякі відомості про це на веб-сторінці http://developer.android.com/guide/practices/screens_support.html