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

ЭКРАНЫ И ПЕРЕХОДЫ DROID INVADERS

Добавлено Дата: 8 October, 2013 категория: Программирование игр под Android

 

Поскольку мы уже дважды реализовали экраны помощи и лучших результатов, для игры Мистер Ном и  для игры Большой прыгун, не будем делать это и для игры Droid Invaders; всегда используется одинаковый принцип, и игрок должен моментально понимать, что именно нужно делать, как только он увидит игровой экран. Вместо этого мы добавим экран настроек, который позволит игроку выбрать режим управления кораблем (мультитач или акселерометр) и отключить или включить звук. Вот список экранов игры Droid Invaders.

Читать »

ANDROID AUDIO, ANDROIDSOUND И ANDROID MUSIC – ВСЕ О ЗВУКЕ

Добавлено Дата: 7 October, 2013 категория: Программирование игр под Android

 

Sound позволяет проигрывать звуковые эффекты, полностью хранящиеся вопс-ративной памяти, Music воспроизводит большие по размеру звуковые файлы, хранящиеся на диске. Начнем с реализации AndroidAudio так, как это показано и листинге 5,2.

Читать »

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

Добавлено Дата: 6 October, 2013 категория: Программирование игр под Android

 

Как и в предыдущих играх, у нас есть два типа графических активов: элементы пользовательского интерфейса (например, логотипы или кнопки) и модели различных объектов нашей игры.

Активы пользовательского интерфейса

Мы снова будем создавать активы пользовательского интерфейса относительно целевого разрешения экрана. Наша игра будет работать в пейзажном режиме, поэтому мы просто выберем целевое разрешение равным 480 х 320 пикселов. Экраны на рис. 12.4 уже содержат все элементы, которые присутствуют в нашем пользовательском интерфейсе: логотип, различные пункты меню, несколько кнопок и пара строк текста. Для текста мы повторно используем шрифт, который уже применяли для игры Большой прыгун. Мы уже собирали воедино все эти элементы в предыдущих играх, и вы уже знаете, что помещение их в атлас текстур положительно скажется на производительности. Поэтому рассмотрим атлас текстур, который будем использовать для игры Droid Invaders, содержащий все элементы пользовательского интерфейса, а также шрифт, который будет применяться на всех экранах игры. Атлас текстур показан на рис. 12.6.

Читать »

Концепция связывания вершин – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 5 October, 2013 категория: Программирование игр под Android

Можем ли мы еще что-то оптимизировать? Еще раз посмотрим на наш текущий метод present  (с убранными glRotatef  и gl Seal ef ):

Выглядит гораздо лучше, не правда ли? Но на самом деле метод еще не идеален. Для начала мы можем переместить вызов gl .glMatrixMode в метод resume, однако это не даст значительных улучшений. Вот что еще можно оптимизировать.

Читать »

GLSURFACEVIEW: ОБЛЕГЧАЕТ ЖИЗНЬ С 2008 ГОДА

Добавлено Дата: 4 October, 2013 категория: Программирование игр под Android

Первым делом нам понадобится определенный тип View, который позволит нам рисовать с помощью OpenGL ES. В Android API такой View имеется. Он называется GLSurfaceView и является потомком класса SurfaceView, который мы уже применяли для отрисовки мира мистера Нома.

Читать »

МИСТЕР НОМ ПОКОРЯЕТ ANDROID – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 3 October, 2013 категория: Программирование игр под Android

 

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

Читать »

Фильтрация текстур – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 3 October, 2013 категория: Программирование игр под Android

Есть еще одна деталь, которую нам необходимо определить перед тем, как мы сможем использовать объект текстуры. Она связана с тем, что наш треугольник может занимать больше или меньше пикселов на экране по сравнению с тем, сколько пикселов есть в обозначенной зоне текстуры. Например, изображение Боба на рис. 7.10 имеет размер 128 х 128 пикселов. Наш треугольник занимает половину этого изображения, так что он использует 128 х 128/2 пиксела из текстуры (текстурные пикселы также называются текселы). Когда мы нарисуем на экране треугольник с координатами, которые описали в предыдущем фрагменте кода, он будет занимать 320 х 480 / 2 пикселов. На экране мы используем гораздо больше пикселов по сравнению с тем, что перенесли из зоны текстуры. Естественно, все может быть и наоборот: мы используем меньше пикселов на экране, чем на выделенной зоне текстуры. Первый случай называется магнификацией, а второй – минификацией. В каждом из них нам необходимо сообщить OpenGL ES, как нужно увеличивать или уменьшать текстуру. В терминологии OpenGL ES соответствующие механизмы называются фильтрами минификации и магнифи-кации. Эти фильтры являются свойствами объекта текстуры, как и сами данные изображения. Чтобы их установить, необходимо сначала проверить, привязан ли объект текстуры с помощью glBindTexture. Если это так, устанавливаем их следующим образом:

Читать »

Поддержка устройств ввода – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 2 October, 2013 категория: Программирование игр под Android

Как обсуждалось в Android мы получаем информацию от различных устройств ввода. В этом разделе мы обсудим три наиболее важных метода ввода и работу с ними: сенсорный экран, клавиатуру и акселерометр.

Обработка событий касания и множественных касаний

Читать »

Куб: Hello World в 3D – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 2 October, 2013 категория: Программирование игр под Android

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

Читать »

МАМА, СМОТРИ: Я НАРИСОВАЛ КРАСНЫЙ ТРЕУГОЛЬНИК.

Добавлено Дата: 2 October, 2013 категория: Программирование игр под Android

Итак, в OpenGL ES Нужно кое-что настроить перед тем, как переходить к отрисовке геометрических фигур. Два наиболее важных элемента – это проекционная матрица (плюс конус отображения) и область просмотра, которая определяет размер конечно о изображения и его положение при визуализации в фреймбуфере.

Читать »

Реализация загрузчика файлов формата OBJ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 29 September, 2013 категория: Программирование игр под Android

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

Читать »

УСТРОЙСТВА, УСТРОЙСТВА, УСТРОЙСТВА – ANDROID

Добавлено Дата: 29 September, 2013 категория: Программирование игр под Android

 

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

Читать »

ОПТИМИЗАЦИЯ DROID INVADERS

Добавлено Дата: 29 September, 2013 категория: Программирование игр под Android

 

Перед тем как подумаем об оптимизации нашей игры, улучшим ее производительность.

Поместим экземпляр класса FPSCounter в класс GameScreen и посмотрим на его выводимые сообщения на устройствах Hero, Droid и Nexus One.

Читать »

Интерфейс Touch Handler – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 29 September, 2013 категория: Программирование игр под Android

Чтобы мы могли использовать два класса обработчиков, заменяя один другим, нам необходимо определить общий интерфейс. В листинге 5.8 показан данный интерфейс, называющийся TouchHandler. 7

Листинг 5.8. PeaлизaцияTouchHandler.java для Android 1.5 и 1.6. package corn, badl ogi с. androi dgames. framework. imp.;

Читать »

Доступ к внешнему хранилищу – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 28 September, 2013 категория: Программирование игр под Android

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

Android предлагает различные способы для реализации этого; вы можете использовать общие настройки приложения, маленькую базу данных SQLite и т. д. У всех этих возможностей есть общая черта – они не обрабатывают большие двоичные файлы. Для чего нам это может понадобиться? Хотя мы можем указать системе, чтобы она устанавливала приложение во внешнее хранилище (и таким образом не тратить память внутреннего хранилища), это будет работать только в версиях Android начиная с 2.2. В более старых версиях ОС все данные приложения будут храниться во внутренней памяти устройства. Теоретически мы могли бы включить код нашего приложения в АРК-файл и загружать все ресурсы с сервера на карту памяти SD при первом запуске программы. Многие известные игры для Android так и делают.

Читать »