Главная » Программирование игр под Android » МИСТЕР НОМ ПОКОРЯЕТ ANDROID – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

0

 

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

СОЗДАНИЕ РЕСУРСОВ

Для Мистера Нома нам потребуется два типа ресурсов: звуки и графика. Я записал звуки с помощью удобного бесплатного приложения Audacity и непритязательного микрофона с нетбука. Я создал аудиоэффект для случаев, когда нажата кнопка или выбран пункт меню и когда мистер Ном съедает пятно, а также когда он съедает сам себя. Я сохранил их в формате OGG в папке assets/ под именами cl ick.ogg, eat.ogg и bitten.ogg соответственно.

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

Я выбрал фиксированное целевое разрешение 320 х 480 (книжная ориентация), для которого мы будем разрабатывать все наши графические ресурсы. Отсканировал все бумажные вырезки и немного изменил их размер. Сохранил большинство ресурсов в отдельных файлах, а также объединил некоторые из них в один файл. Все изображения сохранил в формате PNG. Лишь фон сохранен в формате RGB888, все остальные ресурсы сохранены в формате ARGB8888. На рис. 6.1 показано, что в итоге получилось.

Рассмотрим эти изображения подробнее.

background. png – это изображение фона, которое будет нарисовано в нашем фреймбуфере в первую очередь. По вполне очевидным причинам оно имеет такой же размер, как и конечное разрешение.

Рис. 6.1. Все графические объекты Мистера Нома с соответствующими названиями файлов и размерами в пикселах

buttons .png – данный файл содержит все кнопки, которые понадобятся для игры. Я поместил их все в один файл, так как мы можем легко создать их с помощью метода Graphics.drawPixmapO, который может рисовать фрагменты изображения. Мы будем использовать эту технику гораздо чаще, когда станем рисовать с помощью OpenGL ES, так что лучше привыкнуть к ней прямо сейчас. Объединение нескольких изображений в одно часто называют минимизацией количества текстур (atlasing), а само изображение называют атласом изображений (другие названия: атлас текстур, таблица изображений). Каждая кнопка имеет размер 64 х 64 пикселов, что весьма удобно в случае, когда приходится решать, была ли нажата клавиша при событии касания.

helpl.png, help2.png, help3.png – это изображения, которые показываются при вызове экранов помощи в Мистере Номе. Все они имеют одинаковый размер, что значительно упрощает их размещение на экране.

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

ready.png, pause.рпд, gameover.png – эти ресурсы будут отрисованы, когда игра, соответственно, будет готова к запуску, поставлена на паузу или закончена.

numbers. png – данный файл содержит все цифры, которые необходимы для того, чтобы позже отображать таблицу рекордов. Следует запомнить, что каждая цифра имеет одинаковую ширину и высоту 20 х 32 пиксела за исключением точки в конце, которая имеет размер 10 х 32 пиксела. Мы можем позже использовать этот способ для визуализации любого необходимого числа.

tail, png – это хвост мистера Нома, вернее часть его хвоста. Его размер 32 х 32 пиксела. С хвостом связаны некоторые особенности, которые мы обсудим позже.

headdown.png, headleft.png, headright.png, headup.png – данные изображения составляют голову мистера Нома, каждый из них для соответствующего направления движения. Поскольку на голове у мистера Нома есть шляпа, эти изображения должны быть немного больше хвоста. Каждое изображение головы имеет размер 42 х 42 пиксела.

staini.png, stain2.png, stain3.png – данные файлы представляют собой три типа пятен, которые мы визуализируем. Наличие трех типов пятен сделает игру более разнообразной. Они все размером 32 х 32 пиксела, как и изображение хвоста.

Теперь давайте реализуем экраны.

НАСТРОЙКА ПРОЕКТА

Все ресурсы из предыдущих разделов находятся в папке проекта assets/. Дополнительно нам необходимо поместить файлы icon.png в папки res/drawable, res/ drawabl е-1 dpi, res/drawabl e-mdpi и res/drawabl e-hdpi. Я просто взял headri ght. png мистера Нома, переименовал в i con. png и поместил версии нужного размера в каждую папку.

Теперь мы переместим все это в пакет com.badlogic.-androidgames.mmom проекта Eclipse.

Источник: Mario Zechner / Марио Цехнер, «Программирование игр под Android», пер. Егор Сидорович, Евгений Зазноба, Издательство «Питер»

По теме:

  • Комментарии