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

Шрифт
Интервал

Глава 3 Создание мобильной игры Skeleton

...

Архив Аркад

Игра Galaxian, выпущенная компанией Namco в 1979 году, была первой игрой жанра «космический шутер», наследницей Space Invaders. Galaxian – предшественница игры Galaga, которая, вероятно, является самой успешной игрой всех времен в своем жанре. В Galaxian, как и в любой другой игре жанра «космического шутера», вы управляете космическим кораблем, перемещающимся вдоль нижнего края экрана и вверх при атаке кораблей противника. Galaxian занимает особое место в истории видеоигр, потому что это первая аркада с RGB-графикой.

Разработка на языке Java связана со знанием Java и набора API, которые обеспечивают поддержку сервисов приложений (например, GUI-компоненты, работу в сетях, и ввод/вывод). В этом смысле разработка мобильных приложений на Java ничем не отличается, здесь также есть набор API для поддержки различных процессов, необходимых мидлетам игр для нормальной работы в беспроводной мобильной среде. Чтобы стать разработчиком мобильных игр, необходимо понять эти API и их назначение. В данной главе вы познакомитесь с API мобильного Java и пройдете стадию разработки «скелета» игры. Такой «скелет» мидлета послужит как шаблон для разработки игр во всей книге.

Прочитав эту главу, вы узнаете:

► как программирование на J2ME разбивается на несколько различных API;

► о внутренней структуре мидлетов;

► как построить мидлет на основе шаблона, который отражает основную игровую информацию о мобильном телефоне;

► как подготовить мидлеты для распространения.

Знакомство с J2ME API

Перед тем, как погрузиться в программирование вашего первого мобильного приложения, необходимо познакомится с API, которые будут использованы при сборке мидлетов. Спецификация MIDP (Mobile Information Device Profile) – это набор правил, описывающий возможности и ограничения Java в отношении мобильных телефонов. Важной особенностью этих возможностей и ограничений является то, что они представляют собой набор классов и API, доступных для программирования мидлетов. Хотя спецификация MIDP дает подробное описание пакета API, который можно использовать для программирования мидлетов, дополнительные API предоставляет CLDC (Connected Limited Device Configuration). MIDP API построен на основе CLDC API и предоставляет классы и интерфейсы, ориентированные на программирование для мобильных телефонов. О CLDC можно думать как о средстве, предоставляющем основные Java API для сетевых устройств, в то время как MIDP предлагает более специфичные API, дополняющие CLDC API для компактных беспроводных устройств как мобильные телефоны и пейджеры.

Почему вы должны думать об этих спецификациях и API? Спецификации CLDC и MIDP очень важны, поскольку они явно определяют, какие классы и API можно использовать для создания мидлет. Мобильные устройства – это гибкие машины, не имеющие такой роскоши, как мегабайты памяти. По этой причине Sun пришлось найти способ создать базовый набор функций, выполняемых без потери производительности устройства. Решением стала разбивка конфигурации на более детализированные профили. CLDC API описывает базовые классы и интерфейсы, необходимые сетевым устройствам, в то время как MIDP API описывают интерфейсы и классы, необходимые мобильным информационным устройствам, например, сотовым телефонам. На рис. 3.1 показаны взаимосвязи между мидлетом, CLDC API и MIDP API.

Рис. 3.1. Чтобы выполнять большинство функций, мидлет должен делать вызовы CLDC API и MIDP API

Помните, что хотя CLDC API и MIDP API были тщательно подобраны с учетом необходимости компромисса между производительностью и необходимым размером памяти и ограничениями мобильных устройств, их в определенных случаях недостаточно.

Это означает, что в ряде случаев вам придется более тщательно прорабатывать мидлет игры, поскольку в вашем распоряжении нет широкого набора API, такого как в случае обычного программирования.

CDLC API

Большинство классов, включенных в CDLC API, происходят непосредственно из стандартного J2SE API. Эти классы и интерфейсы практически идентичны тем, которые вы, вероятно, использовали при обычном программировании на Java. Эта часть CLDC API находится в пакете со знакомыми из J2SE именами java.lang и java.util. Кроме классов и интерфейсов, заимствованных у J2SE, есть ряд особых классов CLDC API. Эти интерфейсы, главным образом, предназначены для работы с сетями, это касается той части J2SE API, которую практически очень сложно изменить в соответствии с потребностями сетевых устройств.

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

► набор пакетов, которые служат как подмножество J2SE API;

► набор основных сетевых интерфейсов.

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


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.