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

КОНСОЛЬ РАЗРАБОТЧИКА – РАЗРАБОТКА ИГР ДЛЯ ANDROID

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

 

Как только ваша игра попадет на рынок, вы захотите отслеживать ее статус. Сколько людей уже ее загрузили? Были ли падения приложения? Что говорят пользователи? Обо всем этом вы можете узнать из консоли разработчика (см. рис. 13.6).

Читать »

НЕМНОГО 3D -ФИЗИКИ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

 

В этом разделе мы используем очень простую и достаточно ограниченную физику. Разработчики игр идут на все, чтобы избавиться от сложных вычислений. Поведение объектов в игре не должно быть на 100 % физически точным, оно просто должно быть достаточно реалистичным, чтобы выглядеть правдоподобно. Иногда мы даже не хотим, чтобы поведение было полностью физически достоверным (например, один набор объектов должен падать вниз, а другой такой же – вверх).

Читать »

ANDROID GAME DEVELOPMENT FRAMEWORK

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

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

Читать »

Потоковая музыка – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Короткие звуковые эффекты легко помещаются в ограниченной области памяти (куче), которую приложению Android выделяет операционная система. Это не касается более объемных музыкальных файлов. Поэтому нам необходимо осуществлять потоковую передачу музыки на устройство воспроизведение (то есть читать в единицу времени небольшой фрагмент файла, декодировать его в РСМ-данные и передавать его аудиочипу).

Читать »

КРАТКАЯ ИСТОРИЯ ANDROID

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

Первое громкое упоминание Android прозвучало в 2005 году, когда Google приобрел маленький стартап-проект Android, Inc. Это действие вызвало множество спекуляций на тему выхода Google на мобильный рынок. Конец слухам положил в 2008 году релиз Android 1.0, после чего Android стала новым игроком на самом перспективном рынке. С тех пор идет битва между ней и уже устоявшимися платформами вроде iOS (ранее известной как i Phone OS) и Blackberry, причем шансы новичка выглядят весьма хорошими.

Читать »

AndroidFastRenderView – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

AndroidFastRenderView: собрать-растянуть, собрать-растянуть

По названию данного класса, которое переводится примерно как вид для быстрого отображения в Android, вы можете сами догадаться, что нам предстоит. В предыдущей главе мы обсуждали использование SurfaceView для продолжительной визуализации в отдельном потоке, который также может содержать основной цикл нашей игры.

Читать »

2D-ПРЕОБРАЗОВАНИЯ: МАТРИЦА МОДЕЛЬ – ПРЕДСТАВЛЕНИЕ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

 

До этого мы описывали статическую геометрию в виде списка треугольников. Здесь не было ни передвижения, ни поворотов, ни изменения масштаба. Однако даже когда сами параметры вершины оставались прежними (например, не изменялись ширина и высота прямоугольника, состоящего из двух треугольников вместе с координатами текстуры и цвета), нам по-прежнему приходилось создавать копию вершин, если мы хотели нарисовать такой же прямоугольник в другом месте. Посмотрите снова на листинг 7.11 и пока не учитывайте цветовые атрибуты вершин. Два прямоугольника различаются только значением у-координаты – на 200 единиц. Если бы мы могли передвигать эти вершины без фактического изменения их значений, мы могли бы описать прямоугольник Боба только один раз и просто отрисовывать его в разных местах. И это как раз то, для чего мы будем использовать матрицу Модель – представление.

Читать »

Обработчик MultiTouchHandler – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Для обработки мультитач используем класс MultiTouchHandler, описанный в листинге 5.10.

В свою очередь этот класс снова реализует интерфейс TouchHandler и содержит несколько членов для того, чтобы хранить текущие состояния и события. Вместо того чтобы хранить данные о состоянии каждого указателя отдельно, мы просто сохраняем состояние 20 указателей. Мы также снова используем поля sealе Х и seale Y.

Читать »

Обходной маневр при помощи FloatBuffer – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Причина этого совсем не очевидна. Наш SpriteBatcher помещает массив переменных float в прямой ByteBuffer каждый кадр, когда мы вызываем Vertices. setVertices. Метод сводится к вызову FloatBuffer.put (f1oat), и именно он виновен в ухудшении производительности. В то время как настольная версия Java выполняет метод Fl oatBuf fer, задействовав память большого объема, версия Harmony вызывает FloatBuffer.put для каждого элемента массива. И это очень плохо, потому что этот метод является JNI-методом, который приводит к большим издержкам (как и методы OpenGL ES, которые также представляют собой JNI-методы).

Читать »

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

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

Хотя текст, выводимый в игре Мистер Ном, будет нарисован от руки, весьма полезно будет узнать, как выводить текст с помощью шрифтов TrueType. Начнем с загрузки собственного TrueType-шрифта из папки assets/.

Загрузка шрифтов. Android API предлагает класс Typeface, предназначенный для хранения TrueType. Класс предоставляет простой статический метод для загрузки файла шрифта из каталога assets/:

Читать »

ВЕРШИНЫ В 3D – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

 

Вы узнали, что у вершины есть несколько атрибутов: позиция; цвет (необязательно); координаты текстуры (необязательно).

Мы создали вспомогательный класс Vertices, делающий за нас всю грязную работу. Тогда мы ограничили позиции вершины координатами по осям х и у. Все, что нужно для перехода в 3D, – модифицировать класс Vertices так, чтобы он поддерживал трехмерные позиции вершин.

Читать »

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

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

 

Экран главного меню достаточно прост. Он отображает логотип, команды главного меню, а также представляет настройки звука в виде кнопки-переключателя. Он реагирует на нажатие команд меню или кнопки регулировки звука. Чтобы реализовать это поведение, нам необходимо знать две вещи: где на экране отображаются изображения и каковы области касаний, которые приведут либо к смене экрана, либо к изменению звуковых настроек. Рисунок 6.2 показывает, как и где мы отображаем различные изображения на экране. Из этого мы сможем точно определить зоны касаний.

Читать »

ВОЗМОЖНОСТИ И АРХИТЕКТУРА ANDROID

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

 

Android – это не просто еще один дистрибутив Linux для мобильных устройств. При разработке для Android вам, скорее всего, не придется иметь дело с сами ядром Linux. С точки зрения программиста, Android – платформа, абстрагирующая разработчика от ядра и позволяющая ему создавать код на Java. Android обладает несколькими полезными возможностями. Во-первых, это фреймворк, предлагающий большой набор API для создания различных типов приложений и, кроме того, обеспечивающий возможности повторного использования и замены компонентов, которые предлагаются платформой и сторонними приложениями. Во-вторых, наличие виртуальной машины Dalvik, отвечающей за запуск приложений на Android. Кроме того, к услугам разработчика набор графических библиотек для 2D- и 3D-приложений, поддержка мультимедиа-форматов (Ogg Vorbis, МРЗ, MPEG-4, Н.264, PNG), API для доступа к камере, GPS, компасу, акселерометру, сенсорному экрану, джойстику и клавиатуре. Имеется даже специальное API для воспроизведения фоновых звуковых эффектов, которое пригодится нам при разработке игр. Не все Android-устройства обладают всеми этими возможностями – налицо аппаратное разделение. Конечно, список возможностей Android не исчерпывается упомянутыми мной. Однако для разработки игр они будут наиболее важны.

Читать »

Уменьшаем количество вызовов методов OpenGL ES/JNI – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Прежде всего это могло произойти из-за большого количества вызовов OpenGL ES на кадр, когда мы визуализируем модель для каждого из Бобов. У нас происходит четыре матричные операции с каждым экземпляром Боба. Если нам не нужно поворачивание или изменение размеров, можем сократить количество вызовов до двух. Вот количество кадров в секунду, когда мы используем только gl Loadldenti ty  и gl Trans 1 atef  во внутреннем цикле:

Читать »

КЛАСС WORLDRENDERER DROID INVADERS

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

 

Перечислим все, что нам необходимо отрисовать в 3D: корабль – мы сделаем это, используя модель и текстуру корабля и применив освещение; захватчики – это выполним, применив модель и текстуру захватчика и опять же задействовав освещение; выстрелы на поле боя – сделаем это, основываясь на модели выстрела; в этот раз без текстур, но с освещением; щиты – выполним это, основываясь на модели щита, опять же без текстурирования, но с использованием освещения и прозрачности (см. рис. 12.3); взрывы на месте модели корабля или захватчика – они, конечно же, не освещаются.

Читать »