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

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

Год написания книги
2011
<< 1 2 3 4 5 6 7 8 ... 23 >>
На страницу:
4 из 23
Настройки чтения
Размер шрифта
Высота строк
Поля

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

Обработка ввода пользователя

Пользовательский ввод очень важен для игр: он определяет, как удобно игроку взаимодействие с игрой. Также ввод очень важен потому, что определяет первичный интерфейс между игроком и игрой. J2ME поддерживает клавишный ввод, который на сегодняшний день является единственным способом ввода на мобильном телефоне. Существует возможность непосредственно считывать состояние клавиш на телефоне, это очень важно, если вы хотите обеспечить высокую степень взаимодействия игрока и игры. Особенности обеспечения ввода через J2ME API описаны в главе 6.

В копилку Игрока

Помните, что клавиши на мобильных телефонах значительно отличаются в зависимости от модели, но всегда есть похожие клавиши, выполняющие сходные функции. Если говорить более подробно, то на телефонах, поддерживающих Java, всегда есть клавиши, отвечающие за перемещения влево, вправо, вверх, вниз и стрельбу, а также ряд прочих «полезных клавиш». Для телефонов, оснащенных джойстиками, каждое из отклонений соответствует направлению: влево, вправо и т. д.

Использование звука в играх

«Большую тройку» самых важных элементов мобильных игр завершает звук. J2ME поддерживает воспроизведение цифрового звука в форматах PCM или WAV, а также музыку в формате MIDI. Поддержка звука основана на Java Media API – API, предназначенного для записи и воспроизведения звука и видео на мобильных устройствах. Для разработки игр все, что вам понадобится узнать, – это как в нужный момент воспроизвести звук и, может быть, видео.

В копилку Игрока

Чтобы не уходить далеко от разработки игр, в этой книге будут рассмотрены лишь вопросы воспроизведения аудио средствами J2ME.

В главе 8 вы познакомитесь с программированием звуков, а также звуковым форматом WAV и музыкальным MIDI.

Мобильные сети

Самой привлекательной возможностью мобильных игр будет, вероятно, возможность работы в сети. Помня это, вы можете понять, что ориентированный на сети Java чрезвычайно удобен как платформа для мобильных игр. Сетевые возможности Java являются неотъемлемой частью его среды выполнения. В отличие от других языков программирования игр (C или C++), язык Java был ориентирован на поддержку сетей.

Объедините сетевую ориентированность Java и независимость этой платформы, и вы получите игровую платформу, которая преодолевает все преграды на пути доступности пользователю. Это очень важно, особенно когда вы поймете, что пользователи захотят играть в игры на различных устройствах и в различных беспроводных сетях. Игрок не должен вникать в проблемы, связанные с отличиями мобильных телефонов разных производителей. Благодаря поддержке сетей языком Java разработчикам теперь не нужно заботиться о различиях аппаратного обеспечения.

О сетевых мобильных играх речь пойдет в главе 14, а в главе 15 будет рассмотрен пример создания такой игры.

Небольшой пример на J2ME

Основной набор инструментов и API, необходимых для создания полноценных Java-приложений, известен как J2SE (Java 2 Standard Edition). J2SE используется как для создания самостоятельных приложений, так и для программирования Web-апплетов. Другая разновидность Java – это J2EE (Java 2 Enterprise Edition), предназначенный для создания корпоративных приложений. J2EE отличается от J2SE, поскольку для него существенна функциональная поддержка корпоративных приложений. Представьте большое сетевое приложение, обеспечивающее работу eBay или Amazon.com, и вы поймете, для чего предназначен J2EE.

Учитывая, что мобильные беспроводные устройства имеют меньшие вычислительные мощности и меньшие экраны (по сравнению с настольными аналогами), становится очевидным, что J2ME – это упрощенная версия J2SE с уменьшенным набором функций. На самом деле J2ME – это часть J2SE, которая поддерживает минимальный набор инструментов, необходимый для программирования мобильных устройств как проводных, так и беспроводных.

Также J2ME обладает рядом особенностей, уникальных для мобильных устройств. Эти три пакета (J2ME, J2SE и J2EE) образуют технологию Java 2.

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

Конфигурация и ограниченная конфигурация мобильного устройства

Если вы используете J2ME, то вы столкнетесь с новыми терминами и аббревиатурами. Во-первых, вы встретите термин «конфигурация» (configuration). Конфигурация – это минимальный набор API, необходимый для написания приложения и его запуска на ряде мобильных устройств. Стандартная конфигурация мобильных устройств известна как Ограниченная Конфигурация Мобильного Устройства (Connected Limited Device Configuration, CLDC). CLDC – это минимальный набор функций, которым должно обладать любое беспроводное устройство. В CLDC учитываются такие факторы, как объем свободной памяти устройства, а также мощность процессора.

Если рассмотреть более подробно, CLDC включает в себя следующие параметры мобильного устройства:

? множество используемых Java-функций;

? функциональность виртуальной машины Java;

? набор API, необходимый для разработки приложения;

? аппаратные средства мобильного устройства.

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

? объем памяти, необходимый Java, составляет 160 Кб;

? 16-битный процессор;

? низкое потребление энергии (обычно низкий расход батареи);

? соединение с сетью (часто беспроводное со скоростью 9600 бит/с или меньше).

К CLDC устройствам относятся (но не только указанные устройства) мобильные телефоны, пейджеры, PDA, карманные компьютеры и бытовые приборы. Конечно, нас прежде всего интересуют мобильные телефоны.

В копилку Игрока

Кроме CLDC J2ME определяет еще одну конфигурацию, известную как CDC (Connected Device Configuration – Конфигурация сетевого устройства), которая накладывает ограничения на более мощные и габаритные устройства по сравнению с мобильными. Следовательно, CDC имеет больший набор возможностей, чем CLDC.

Профили и MIDP

Во главе конфигурации находится профиль (profile), который представляет собой особый набор API, предназначенный для конкретного типа устройства. Конфигурация в общих чертах описывает семейство устройств, в то время как профиль дает более детальное описание, выделяющее тип устройства внутри семейства. MIDP (Mobile Information Device Profile – информационный профиль мобильного устройства) – это профиль, построенный на основе CLDC, который описывает беспроводные мобильные устройства, такие как телефон или пейджер.

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

В копилку Игрока

Существует две версии профиля MIDP: 1.0 и 2.0. Хотя телефоны MIDP 1.0 имеют достаточно большую функциональность, MIDP 2.0 предоставляет более широкие возможности J2ME для программирования игр. Эта книга целиком посвящена MIDP 2.0, поскольку такие мобильные телефоны с огромной скоростью замещают телефоны, поддерживающие более ранний профиль MIDP 1.0, если уже не полностью вытеснят их к моменту, когда вы закончите прочтение книги.

Оценка требований MIDP к аппаратному обеспечению

Важной частью стандарта MIDP являются требования к аппаратному обеспечению устройств MIDP 2.0. Эти требования накладываются на следующие параметры:

? память;

? экран;

? ввод;

? сеть.

Требования к памяти согласно MIDP 2.0 следующие:

? 256 Кб недоступной памяти для библиотек MIDP API;

? 128 Кб памяти для системы работы Java;

? 8 Кб недоступной памяти для постоянных данных приложений.

Требования к вводу MIDP-устройств оговаривают, что устройство должно иметь клавиатуру или сенсорный экран. Обратите внимание, что мышь не является устройством ввода, поскольку сложно представить мобильное устройство, работа с которым осуществляется с помощью мыши. Однако такое устройство вполне может иметь сенсорный экран и электронное перо.
<< 1 2 3 4 5 6 7 8 ... 23 >>
На страницу:
4 из 23