Оценить:
 Рейтинг: 0

Создание игр для мобильных телефонов

Год написания книги
2011
<< 1 ... 8 9 10 11 12 13 14 15 16 ... 23 >>
На страницу:
12 из 23
Настройки чтения
Размер шрифта
Высота строк
Поля

Первая строка файла манифеста определяет имя мидлета, а также его пиктограмму и имя выполняемого файла класса. Вы, вероятно, заметили, что свойство называется MIDlet-1. Если вы включите дополнительные мидлеты в пакет, то ссылаться на них следует MIDlet-2, MIDlet-3 и т. д. Свойства MIDlet-Name, MIDlet-Description, MIDlet-Vendor и MIDlet-Properties относятся ко всему пакету мидлетов. Однако в нашем случае мидлет Skeleton – единственный мидлет в пакете, поэтому нет ничего плохого в именовании всего пакета Skeleton. Два последних свойства определяют версию используемых мидлетом конфигурации и профиля: CLDC 1.0 и MIDP 2.0.

Ранее я упоминал, что наряду с файлами класса и файлом манифеста в JAR-архив необходимо включить файлы ресурсов. Как минимум мидлет должен иметь пиктограмму. Пиктограмма – изображение размером 12 12 пикселей, сохраненное в формате PNG. В зависимости от экрана телефона это может быть как цветное изображение, так и черно-белое. Я создал маленькое изображение черепа для мидлета Skeleton и сохранил его в файле Skeleton_ion.png.

Одно небольшое замечание касательно пиктограммы мидлета: она должна храниться в папке icons внутри JAR-архива. Подобно ZIP-файлам, вы можете помещать папки с файлами внутрь JAR-архивов. Чтобы поместить такой файл в JAR-архив, вы должны сослаться на этот файл из вложенной папки. Это что-то вроде неофициального соглашения помещать ресурсы мидлета в папку res, расположенную в папке с основным кодом приложения. Зная это, пиктограмму проще всего разметить внутри папки res в папке icon.

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

Рис. 3.2. Придерживаясь простых правил организации данных внутри архива мидлета, вы сможете легко организовать все файлы

Папки на рисунке используются для хранения следующих файлов:

? src – файлы кода Java;

? bin – файл манифеста, JAD-файл и JAR-файл;

? classes – компилированные файлы байт-кода Java;

? tmpclasses – компилированные фалы байт-кода Java, прошедшие предварительную верификацию;

? res – файлы всех ресурсов, кроме пиктограмм (изображения, звуки и т. п.);

? res/icons – файлы пиктограмм.

Совет Разработчику

Примеры мидлетов, включенных в состав J2ME Wireless Toolkit (среди них вы можете найти и игры, которые вы видели в предыдущей главе), построены согласно этому правилу.

Для распространения мидлета необходим не только файл манифеста, включаемый в JAR-файл, но и специальный дескриптор. Дескриптор приложения (application descriptor), или файл JAD, содержит информацию, подобную той, что хранится в файле манифеста. JAD-файл используется эмулятором J2ME при тестировании мидлета. Ниже приведено содержание дескриптора мидлета Skeleton:

MIDlet-1: Skeleton, /icons/Skeleton_icon.png, SkeletonMIDlet

MIDlet-Name: Skeleton

MIDlet-Description: Skeleton Example MIDlet

MIDlet-Vendor: Stalefish Labs

MIDlet-Version: 1.0 //Это ваша версия мидлета

MicroEdition-Configuration: CLDC-1.0

MicroEdition-Profile: MIDP-2.0

MIDlet-Jar-Size: 2491 //Если это значение не равно размеру JAR-файла, мидлет не запустится

MIDlet-Jar-URL: Skeleton.jar

За исключением двух последних строк, JAD-файл содержит информацию, с которой вы уже знакомы. Две последние строки определяют размер JAR-файла мидлета (в байтах) и его имя. Очень важно обновлять информацию о размере JAR-файла каждый раз, когда вы заново упаковываете мидлет, поскольку его величина скорее всего изменится при очередной сборке.

Сборка и тестирование завершенного приложения

В предыдущей главе вы познакомились с инструментом визуальной среды разработки KToolbar, который позволяет собирать и запускать мидлеты, затрачивая минимум усилий. Чтобы собрать мидлет Skeleton с помощью инструмента KToolbar, вы должны полностью скопировать в папку apps, расположенную в папке установки J2ME Wireless Toolkit. После того как Skeleton скопирован, вы можете открыть это приложение в KToolbar, для чего на инструментальной панели щелкните по кнопке Open Project (Открыть проект).

После того как проект открыт, щелкните по кнопке Build (Собрать), и мидлет Skeleton будет собран. Чтобы запустить приложение в эмуляторе J2ME, щелкните по кнопке Run (Запустить), расположенной на панели инструментов. На рис. 3.3 показан мидлет Skeleton, готовый к запуску в эмуляторе.

Рис. 3.3. Мидлет Skeleton можно запустить с помощью менеджера приложений в эмуляторе J2ME

Поскольку Skeleton – это единственный мидлет в пакете, он уже подсвечен и готов к запуску. Чтобы запустить приложение, на клавиатуре устройства щелкните по кнопке Action (Действие), расположенной между кнопками, или по экранной кнопке Launch (Запустить), или просто нажмите клавишу Enter (Ввод). На рис. 3.4 показан мидлет Skeleton в эмуляторе.

Рис. 3.4. Мидлет Skeleton выводит информацио о ресурсах мобильного телефона: размер экрана, число отображаемых цветов и т. д.

Чтобы выйти из приложения Skeleton, щелкните по экранной кнопке Exit (Выход). Вызовется команда Exit, и мидлет будет разрушен. Чтобы завершить работу мидлета, вы также можете нажать кнопку End (Конец), которая используется в реальных телефонах для прекращения телефонного звонка.

Резюме

В этой главе вы, наконец, написали первый Java-код реального мидлета. Хотя мидлет не был игрой, вы создали его по принципу построения игры и подготовили мидлет для распространения. Эта глава познакомила вас с общей структурой мидлета, а также дала представление об устройстве J2ME API. Также вы узнали о жизненном цикле мидлета и методах класса мидлета, управляющих его жизненным циклом.

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

Еще немного об играх

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

1. создайте другую пиктограмму для мидлета Skeleton, убедитесь, что она сохранена в файле формата PNG, ее размер 12 12, и она размещена в папке res/icons;

2. измените манифест и JAD-файлы так, чтобы мидлет мог использовать другой файл с пиктограммой;

3. перестройте мидлет и протестируйте его, используя KToolbar.

Если все сделано верно, то при запуске приложения в эмуляторе, вы увидите новую пиктограмму.

Часть II

Основы программирования мобильных игр

Глава 4

Мобильная графика 101

Архив Аркад

В 1979 году компания Atari совершила первую попытку создания аркады с векторной графикой и выпустила игру Lunar Lander. Хотя эта игра была не столь успешна, как Asteroids, вышедшая вскоре, тем не менее она занимает важное место в истории видеоигр. Lunar Lander была переделана во множестве форматов на различных компьютерных системах. Первую версию игры отличает продуманное управление двигателями, используемыми при посадке аппарата на лунную поверхность.

Компьютерная игра состоит из многочисленных кусочков, которые составляют единое целое, и результат их единения должен развлекать игрока. Вероятно, один из самых важных элементов игры – это графика. Она используется для отображения персонажей и существ в игре, а также фоновых миров и прочих объектов, составляющих игровой мир. Конечно, существуют игры с великолепным сюжетом и звуком, но такие игры, скорее, редкость. Кроме того, сегодня игроки ожидают от игры высококачественной графики, а также высококлассных спецэффектов, как в голливудских фильмах. Это касается и мобильных игр, воспроизводимых на миниатюрных экранах мобильных устройств. Поэтому важно понять сущность программирования графики и научиться ее грамотному использованию в играх.

В этой главе вы узнаете:

? о системах координат MIDP;
<< 1 ... 8 9 10 11 12 13 14 15 16 ... 23 >>
На страницу:
12 из 23