Главная » Программирование игр под Android » ANDROID GAME DEVELOPMENT FRAMEWORK

0

Основная причина того, что вам пришлось изучить всю эту скучную теорию и провести несколько тестов программ, такова: если вы хотите писать игры, вам надо точно знать, как конкретно это работает. Конечно, вы можете скопировать и вставить код, который вы найдете где-то на просторах Интернета, и надеяться, что каким-то волшебным способом он превратится в новый топовый шутер от первого лица. Но гораздо лучше иметь твердые знания о том, как создать простую игру с нуля, как структурировать качественный API для 2D-nporpaMM, и о том, какие возможности предоставляют API Android для того, чтобы претворить ваши идеи в жизнь.

ПЛАН АТАКИ

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

Программный код будет объединен в один проект Eclipse. Пока просто создайте проект в Eclipse так, как об этом было рассказано выше. Название проекта на данный момент не имеет значения.

Класс AndroidFilelO

Начальный интерфейс Fi1е10 был достаточно скромным. В нем было всего лишь три метода: один, чтобы получить InputStream для assets, еще один, чтобы получить входной ноток InputStream к файлу на внешнем диске, и третий, возвращающий OutputStream файлу на внешнем диске.

В листинге 5.1 продемонстрирована реализация интерфейса FilelO.

Листинг 5.1. AndroidFilelO.Java: реализация интерфейса FilelO

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

Наша реализация интерфейса Game хранит экземпляр этого класса и возвращает его через Game.getFi 1еЮ. Это также значит, что нашей реализации интерфейса Game нужно будет передать AssetManager, чтобы впоследствии AndroidFi1е мог работать.

Обратите внимание: мы не проверяем, доступно ли внешнее хранилище. Если оно недоступно или мы забыли добавить соответствующее разрешение в манифест (файл описания приложения), мы получим исключение. Соответственно, появится сообщение об ошибке. Таким образом, можно переходить к следующей части фреймворка – работе со звуком.

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

По теме:

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