Показать сообщение отдельно
Старый 22.03.2011, 05:22   #1
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Lib_Scri - Манипуляции над экраном

Вы когда-то задумывались над тем, как будет выглядеть ваша игра если ее запустить на разрешении большем чем то для которого вы ее планировали? ... Обычно не очень хорошо. Если вы оказались предусмотрительным разработчиком и использовали SetClip, то игрока ждет большая пустая одноцветная область окружающая игру. Если же нет... то игрок будет созерцать бесконечный мусор, остающийся от прорисовок обьектов вне области игры, и прочие остатки графики, попадающие туда. Не лучшее зрелище, правда?

Но для игр с небольшим начальным размером экрана есть другое решение. Почему бы просто не "растянуть" игровую область до нужного размера? "Но ведь J2ME не поддерживает быстрое масштабирование изображений" - возможно подумали вы, если вам приходилсось работать непосредственно с J2ME. Но, к счастью, поддерживается такая полезная функция как прорисовка массива "пикселей". Поэтому, вооружившись небольшим количеством здорой логики и примитивных формул, я написал эту библиотеку.

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

Возьмем для примера игру Mine Mechanic. Разрешение игры состовляет всего лишь 96х96 пикселей.
Для примера, я собрал небольшой проэкт, имитирующий часть этой игры и использующий упомянутую библиотеку.

Как можно увидеть на скриншоте ниже, игра будет менять масштабирование, чтобы занимать как можно большую часть экрана на любом устройстве. При этом, нет никаких потерь качества изображения.
Нажмите на изображение для увеличения
Название: temp3.png
Просмотров: 1439
Размер:	15.3 Кб
ID:	13055

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

90 градусов, 180 градусов, зеркальное отражение, вертикальное зеркальное отражение, вертикальное зеркальное отражение повернутое на 90 градусов против часовой стрелки? (не уверен что этот вариант будет часто использоватся) - один вызов функции это все что нужно сделать.
Нажмите на изображение для увеличения
Название: temp4.png
Просмотров: 1349
Размер:	9.0 Кб
ID:	13056

Для прощения жизни разработчика в библиотеке так же есть набор "дополнительных" функций, возращающих установленные параметры.

Конечно, использование данной библиотеки не ограничивается играми. Так же она может пригодится, если вы разрабатываете программу, нуждающуюся в "альбомном" режиме, или же если вам нужен дополнительный "экран" для прорисовки графики.

Библиотека, пример-игра, и ее скомпилированный вариант во вложении. Документацию можно найти в начале исходного кода примера. Пример должным образом откоментирован.

Хорошего дня.
Вложения
Тип файла: zip ScriTest.zip (19.4 Кб, 922 просмотров)
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...

Последний раз редактировалось YellowAfterlife, 22.03.2011 в 18:19. Причина: Загрузил скриншоты на форум, вместо внешнего сайта.
(Offline)
 
Ответить с цитированием
Эти 8 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
Amigo888 (11.01.2012), cherepets (22.03.2011), DIMMON4IK (25.03.2011), Igor (22.03.2011), nil0q (10.01.2012), odd (22.03.2011), RegIon (22.03.2011), scimitar (22.03.2011)