forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_Scri - Манипуляции над экраном (http://forum.boolean.name/showthread.php?t=14455)

YellowAfterlife 22.03.2011 05:22

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

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

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

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

Как можно увидеть на скриншоте ниже, игра будет менять масштабирование, чтобы занимать как можно большую часть экрана на любом устройстве. При этом, нет никаких потерь качества изображения.
Вложение 13055

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

90 градусов, 180 градусов, зеркальное отражение, вертикальное зеркальное отражение, вертикальное зеркальное отражение повернутое на 90 градусов против часовой стрелки? (не уверен что этот вариант будет часто использоватся) - один вызов функции это все что нужно сделать.
Вложение 13056

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

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

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

Хорошего дня.

odd 22.03.2011 15:26

Ответ: Lib_Scri - Манипуляции над экраном
 
Классно, только скриншоты не отображаются.

bormotan 10.01.2012 11:53

Ответ: Lib_Scri - Манипуляции над экраном
 
в примере есть функция , которая видимо не описана в либе - ScriGetSWidth. Прошу исправить , а то либа правда интересная

а насчет отрисовок за пределами экрана - setclip рулит . Хотя я всегда все через getwidth getheigth делаю

Elastic 26.01.2014 12:10

Ответ: Lib_Scri - Манипуляции над экраном
 
а что бы самому либу написать, что для этого надо?

Vasiliy_LiGHT 27.01.2014 13:12

Ответ: Lib_Scri - Манипуляции над экраном
 
Java ME надо знать


Часовой пояс GMT +4, время: 01:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot