Создание игр для мобильных телефонов - Майкл Моррисон
Шрифт:
Интервал:
Закладка:
В копилку Игрока
Не забудьте, что большинству пользователей мобильных телефонов важен объем данных, получаемых по беспроводной сети. Вот почему JAD-файлы играют столь значительную роль при распространении мобильных игр по беспроводной сети: они предоставляют пользователю информацию об игре при минимальных затратах на получаемые данные.
В реальности, несмотря на то что вы можете распространять созданные вами игры с собственного сайта, более эффективным способом является распространение через «игровые компании» или поставщиков беспроводной связи. В результате вашу игру может заметить большая аудитория. Сотрудничество с поставщиками беспроводных услуг намного сложнее для новичков, но есть ряд сайтов, на которые стоит обратить внимание: JAM DAT Mobile (http://www.jamdat.com) и MFORMA (http://www.mforma.com/). Здесь вы найдете специальные разделы, посвященные мобильным играм, и Handango (http://www.handango.com/), который посвящен мобильным играм и прочим приложениям.
Подготовка игр к распространению
Вы уже знакомы с упаковкой мидлетов в JAR-файлы и созданием сопроводительных JAD-файлов. Но пока вы не научились создавать Web-станицы, содержащие ссылку на игру. Для создания таких страниц можно применить одно из двух средств: HTML или WML. Как вы, вероятно, знаете, HTML (HyperText Markup Language – Язык гипертекстовой разметки) – это стандартный язык, используемый для создания большинства Web-страниц. Однако большинство мобильных телефонов используют сокращенную версию HTML, известную как WML (Wireless Markup Language – Язык беспроводной разметки). WML идеально подходит для мобильных телефонов, поскольку он ограничивает интерфейс Web-страницы так, что его легче воспринять на экране мобильного телефона.
...Совет Разработчику
После упаковки мидлета в JAR-файл вы можете сделать цифровую подпись мидлета в целях безопасности. Подписанные мидлеты считаются более безопасными, чем неподписанные, поскольку их поставщик (вы) подтвержден, и никто другой не мог испортить мидлет. Полезно подписывать мидлеты, прежде чем распространять их. К сожалению, вопрос подписи мидлетов не входит в рамки этой книги. Чтобы подробнее узнать о подписях мидлетов, я советую обратиться к руководству пользователя J2ME Wireless Toolkit.
Выбор языка для создания Web-страницы целиком зависит от телефонов, на которые рассчитана ваша игра. К счастью, создать страницу на каждом из языков очень просто. Ключевой элемент, необходимый для создания такой страницы, одинаковый – тег, открывающий доступ к JAD-/JAR-файлу. Ниже приведена строка кода:
<a href="http://localhost:2728/HighSeas2/bin/HighSeas2.jad">HighSeas2.jad</a>
Даже если вы не знакомы ни с HTML, ни с WML, приведенную строку кода понять несложно. В ней ссылка на игру связана с текстом HighSeas2.jad. В этом примере URL – это локальный адрес файла, о чем говорит слова localhost. На Web-странице, служащей для загрузки игры этот код будет выглядеть так:
<a href="http://www.stalefishlabs/games/HighSeas2.jad">HighSeas2.jad</a>
В этом коде показано, как с текстом HighSeas2.jad связана стандартная ссылка URL.
Код ссылки, обозначаемой тегом <a>, одинаков для HTML– и WML-страниц. В листинге 16.2 приведена HTML-версия страницы загрузки High Seas 2, а в листинге 16.3 – WML-версия.
Листинг 16.2 HTML-страница HighSeas2.html содержит ссылку для загрузки JAD-файла игры High Seas 2<html>
<head>
<title>HighSeas2</title>
</head>
<body>
<ahref="http://localhost:2728/HighSeas2/bin/HighSeas2.jad">HigsSeas2.jad</a>
</body>
</html>Листинг 16.3. WML-страница HighSeas2.wml содержит ссылку для загрузки JAD-файла игры High Seas 2
<wml>
<card id="High Seas 2" title= "High Seas 2 MIDlet">
<ahref="http://localhost:2728/HighSeas2/bin/HighSeas2.jad">HighSeas2.jad</a>
</card>
</wml>Очень важно, чтобы вы поняли код, расположенный вне ссылки на JAD-файл. Помните, что URL-ссылка должна содержать абсолютное расположение файла на сервере. Когда страница для загрузки игры создана, необходимо выполнить еще один шаг, чтобы игру можно было успешно загрузить по беспроводной сети. Внутри JAD-файла мидлета есть ссылка, например:
MIDlet-Jar-URL : HighSeas.jar
Здесь вы должны также указать полный путь к файлу мидлета. Предположим, что этот файл располагается в той же папке, что и JAD-файл в листингах 16.2, 16.3:
MIDlet-Jar-URL : http://localhost:2728/HighSeas2/bin/HighSeas2.jar
И снова здесь указан полный адрес расположения файла на сервере, а не локальный.
Теперь вы успешно можете подготовить ваш мидлет для распространения по сети. Если вы уже пытались загружать и устанавливать мидлеты по беспроводной сети, и обнаружили, что этот подход не работает, то проверьте настройки сервера. Давайте узнаем, что нужно исправить.
Настройка сервера
Чтобы браузер распознавал файлы JAR и JAD, необходимо, чтобы он их распознавал в соответствии с официальными типами MIME. MIME-тип – это распознаваемый тип файла, который помогает приложению определить действия, выполняемые с файлом. HTML, GIF, JPEG и прочие популярные форматы – все они имеют распознаваемые MIME-типы. Поскольку файлы JAR и JAD новы для браузеров и сети, ваш сервер, вероятно, не распознает их по MIME-типу. Поэтому вам необходимо сконфигурировать сервер:
► JAD-файлы – text/vnd.sun.j2me.app-descriptor;
► JAR-файлы – application/java-archive.
Реализация этих настроек полностью определяется используемым вами программным обеспечением. Если вы администрируете собственный сервер, обратитесь к документации. Если у сервера есть администратор, то спросите его, как зарегистрировать эти MIME-типы.
Тестирование OTA с помощью KToolbar
Несмотря на то что перед непосредственным распространением игры вашей целью является тестирование распространения на реальных мобильном телефоне и сервере, есть способ имитировать процесс загрузки и установки. Приложение KToolbar, которое поставляется в составе J2ME Wireless Toolkit, позволяет запускать мидлет в режиме OTA. Мидлет загружается и устанавливается из локального файла, как будто он был загружен по беспроводной сети. Это очень полезная функция для тестирования установки мобильных игр, при этом нет необходимости использовать реальные телефон и сервер.
Чтобы запустить мидлет в режиме OTA, выполните следующие шаги:
1. скопируйте папку с игрой (например, HighSeas) в папку apps, расположенную внутри папки установки J2ME Wireless Toolkit;
2. из меню KToolbar выберите Project ==> Run via OTA (Проект ==> Запустить через OTA);
3. выполните шаги в эмуляторе, чтобы установить мидлет.
Первый шаг необходим, чтобы проект был доступен из приложения KToolbar. Второй шаг запускает эмулятор в режиме OTA, который имитирует загрузку игры по беспроводной сети. Последний шаг – это взаимодействие с Менеджером приложений телефона, который отвечает за установку игры.
После вводного экрана эмулятор выводит ряд опций, позволяющих установить мидлет. Далее в окне появится текстовое поле, в котором необходимо ввести URL загружаемого мидлета (рис. 16.1.). В данном случае страница загрузки создается автоматически.
Рис. 16.1. Эмулятор J2ME запускает режим OTA, отображая URL-страницы загрузки мидлета High Seas 2После ввода URL страницы загрузки эмулятор загружает страницу мидлета и ищет ссылку. На рис. 16.2 показана Web-страница, загруженная в эмулятор.
Рис. 16.2. Эмулятор J2ME загружает Web-страницу, чтобы получить доступ к ссылке на JAD-/JAR-файлыПосле того как JAD-файл мидлета High Seas 2 обнаружен, эмулятор J2ME отображает файл, который вы можете выбрать (рис. 16.3).
Рис. 16.3. Отображается ссылка на JAD-файл мидлета, вы можете его выбратьКогда файл выделен, эмулятор загружает его и извлекает информацию о мидлете. На рис. 16.4 показан экран подтверждения установки High Seas 2, вы можете увидеть информацию о мидлете до окончания установки. Обратите внимание, что на экран выводятся размер JAR-файла (95Кб), версия мидлета и поставщик программного обеспечения.
Рис. 16.4. Экран подтверждения эмулятора отображает информацию о загружаемом и устанавливаемом мидлетеЕсли вы выберите пункт Install (Установить), чтобы продолжить установку мидлета, то появится экран установки (рис. 16.5).
Рис. 16.5. В эмуляторе на экране загрузки отображается прогресс загрузки мидлетаВ случае успешной загрузки мидлета он будет занесен в список установленных приложений (рис. 16.6).
Рис. 16.6. Успешно установленный мидлет отображается в списке установленных приложений и готов к запускуИз рисунка видно, что вы можете запустить приложение и начать игру. Вы также можете заметить, что в меню эмулятора видна опция Update (Обновить). Обновление мидлета похоже на установку, но оно выполняется только в том случае, если есть более новая версия мидлета. Если вы вспомните, то версия мидлета указывается в JAD-файле. Чтобы быстро узнать версию мидлета, достаточно просмотреть JAD-файл. Тем проще вам предлагать пользователям обновленные версии игр.
Резюме
Эта глава осветила очередные аспекты создания мобильных игр, которые позволят вам поставлять качественные игры жаждущим игрокам. Первая затронутая тема – отладка. Вы научились не только обнаруживать и устранять ошибки, но также получили ряд советов, как предотвратить появление ошибок. Затем вы перешли к изучению методов распространения мобильных игр – подготовке игр для загрузки и установки через беспроводное соединение. Несмотря на то что для подготовки игры требуется выполнить целый ряд шагов, вы увидели, что этот процесс весьма прост. Также вы узнали, как J2ME Wireless Toolkit позволяет имитировать установку игры по беспроводному соединению без использования мобильного телефона и сервера.