Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Создание игр для мобильных телефонов - Майкл Моррисон

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

Читать онлайн Создание игр для мобильных телефонов - Майкл Моррисон

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 34 35 36 37 38 39 40 41 42 ... 87
Перейти на страницу:

Последний фрагмент нового кода метода update() появляется в конце, здесь проверяется окончание игры. Если игра окончена, то музыка останавливается и воспроизводится звук GameOver.

Тестирование приложения

Теперь тестировать игру Henway 2 – это сплошное удовольствие, поскольку в нее добавлены звуки и музыкальное сопровождение, которые помогают почувствовать игру. Независимо от того, где вы тестируете игру, – на настоящем мобильном телефоне или в эмуляторе J2ME, вы, несомненно, оцените, как звуки могут украсить игру. Посмотрите на рис. 9.3, на нем видно, что цыпленок попал под автомобиль, однако вы не можете спорить, что это выглядит намного эффектнее в сопровождении забавного звука.

Рис. 9.3. Мидлет Henway 2 использует звуки, это украшает игру и подчеркивает важные игровые события, например, гибель цыпленка или удачный переход через шоссе

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

Резюме

В этой главе был продолжен рассказ о звуках. Вы узнали, что такое цифровые звуки, и как они применяются в мобильных играх. Вы познакомились с волновыми звуками, научились воспроизводить их из JAR-архива и сетевого ресурса. Также вы познакомились с MIDI– и MP3-музыкой, научились использовать ее в играх. Глава завершилась совершенствованием игры Henway, разработанной в главе 7, в которую мы добавили цифровые звуки и музыку.

Экскурсия

А теперь вам понадобится какое-нибудь устройство, которое может записывать звук. Если у вас есть маленькое цифровое записывающее устройство (например, MP3-плеер), то вы находитесь в выигрышном положении, если нет, вы можете использовать обычный магнитофон. Сейчас нашей задачей является запись реальных звуков, которые можно будет использовать в играх. Итак, если у вас есть идея о том, какую игру вы хотите создать, то, вероятно, знаете, какие звуки вам нужны. Вы, вероятно, найдете запись звуков очень веселым занятием, при этом не возникает проблемы авторского права, поскольку все, что вы записали, принадлежит вам.

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

Часть III Виртуальные миры и искусственный интеллект в мобильном телефоне

Глава 10 Создание замощенных игровых слоев

...

Архив Аркад

Продолжение классической аркады Defender – игра Stargate – по праву занимает место в зале славы. Выпущенная в 1981 году компанией Williams игра Stargate – это горизонтальный космический шутер, похожий на Defender, но более интересный. Некоторые из противников в этой игре названы именами конкурентов Williams: Yllabian (Bally) и Irata (Atari). В сети вы можете найти flash-версию этой игры: http://www.shockwave.com/sw/content/defender2. Существует также аркадная версия этой игры.

Вы когда-нибудь играли в игру, в которой мир намного больше по сравнению с экраном? Когда виртуальный мир намного шире, чем мы можем отобразить на экране, необходимо использовать некоторые приемы, помогающие определять размеры мира и какую именно часть необходимо отображать. В современных 3D-играх такие приемы очень сложны, а в 2D-играх это сделать не так сложно. К счастью, в MIDP 2.0 API есть класс, который значительно упрощает работу с большими виртуальными мирами. Этот класс называется TiledLayer. Класс помогает создавать замощенные слои (tiled layers). Такие слои очень похожи на спрайты, но они состоят из множества изображений (ср. мозаика). В этой главе вы познакомитесь с замощенными слоями, вы узнаете, как они используются для создания виртуальных миров.

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

► почему замощенные слои столь важны для программирования игр;

► как использовать специальные программные средства создания карт, помогающие облегчить построение замощенных слоев;

► как с помощью слоев создавать карты, лабиринты и прочие интересные фоновые изображения;

► что разработка приключенческого симулятора – это не такая сложная задача.

Что такое замощенный слой?

Ранее вы узнали, что слой (layer) – это графический компонент игры, а спрайт – это особый вид слоя, который для визуального представления использует изображение или их последовательность. Замощенный слой очень похож на спрайт тем, что он используется как визуальный компонент игры, но, в отличие от спрайта, он состоит из нескольких изображений, размещенных друг относительно друга определенным способом. Когда вы создаете замощенный слой, то указываете несколько изображений или слоев, которые будут составлять слой. После этого вы указываете, как следует разместить эти изображения. На рис. 10.1 показано, как из нескольких изображений создается слой.

Рис. 10.1. Изображения как элементы головоломки, если их правильно сложить, то получится изображение

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

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

При создании слоев важно учитывать единственное требование – все изображения замощенного слоя должны быть одинакового размера. Такое требование обоснованно, учитывая, что слои могут быть перемешаны и соединены друг с другом различными способами. Несмотря на то что слои должны быть одинакового размера, для размеров одного слоя ограничений нет. Например, если вы используете изображения размером 32х32 пикселя, то высота и ширина результирующего слоя должны быть кратны 32. Например, если вы хотите создать прямоугольный слой, состоящий из 24 элементов по ширине и 16 по высоте, то в результате вы получите слой размером 768х512 пикселей. Очевидно, что такой слой не поместится на экран, поэтому ваша игра должна быть создана так, чтобы в любой момент на экране отображался нужный фрагмент.

В следующей главе вы узнаете, как использовать средства MIDP 2.0 API для управления слоями и создания «окна просмотра» (viewing window), которое позволяет отображать отдельный фрагмент замощенного слоя. Пока вы можете достичь того же эффекта, используя метод draw() фрагмента слоя. Такая методика подразумевает смещение слоя относительно экрана так, чтобы была видна только та его часть, которую необходимо отобразить. Рисунок 10.2 иллюстрирует, как можно нарисовать гоночную трассу, показанную на рис. 10.1, на экране телефона.

Рис. 10.2. Когда размер замощенного слоя больше размера экрана, то в любой момент времени отображается лишь определенная часть

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

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

1 ... 34 35 36 37 38 39 40 41 42 ... 87
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Создание игр для мобильных телефонов - Майкл Моррисон.
Комментарии