Главная » Статьи для тега "который"

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.

Читать »

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

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

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

Читать »

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

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

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

Читать »

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

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

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

Читать »

Обходной маневр при помощи 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

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

Класс ListActivity содержит защищенный метод onListltemClickO, вызываемый при нажатии элемента списка. Нам нужно переопределить этот метод в нашем классе AndroidBasicsStarter. Именно это мы и делали в листинге 4.1.

Аргументами этого метода являются объект ListView (который ListActivity использует для отображения элементов), View (содержащийся в Li stView элемент, на который производится касание), position (позиция нажатого элемента в списке) и i d, который нас не слишком интересует. На самом деле главное для нас – это аргумент position.

Читать »

БОЛЬШОЙ ПРЫГУН:  ДВУХМЕРНАЯ ИГРА, НАПИСАННАЯ С ПОМОЩЬЮ OPENGL ES – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

 

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

Однако для нашей следующей игры я решил выбрать что-нибудь более простое. Мы реализуем игру в жанре попрыгунчик (jump-em-up), подобную играм Abduction или Doodle Jump. Как и в случае с игрой Мистер Ном, мы начнем с определения игровой механики.

Читать »

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

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

 

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

Читать »

ANDROIDGRAPHICS И ANDROIDPIXMAP: ДВОЙНАЯ РАДУГА

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

 

Итак, возвращаемся к нашей самой любимой теме: программированию графики.

Однако есть еще один аспект, изучение которого мы отложили до текущего момента, а именно: что делать с экранами различного размера и разрешения.

Обработка различных размеров экрана и разрешений

Читать »

ANDROIDGAME: СВЯЖЕМ ВСЕ ВМЕСТЕ

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

 

Мы почти закончили небольшой каркас нашей игры. Все, что осталось сделать, – связать все вместе, реализовав интерфейс Game, с помощью классов, написанных в предыдущем разделе. Список задач выглядит следующим образом: организовать управление окнами. В нашем случае это означает правильно обрабатывать жизненный цикл активности; использовать WakeLock и отслеживать его работу, чтобы экран не тускнел; инстанцировать и отдавать ссылки на Graphics, Audio, FilelO и Input тем элементам, которым они требуются; управлять экземплярами Screen и интегрировать их в жизненный цикл активности.

Читать »

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

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

 

Нашему приложению необходима точка входа, которая также именуется в Android активностью, задаваемой по умолчанию. Мы назовем эту активность MrNomGame и унаследуемся от Androi dGame, класса, который мы реализовали для того, чтобы написать игру. Этот класс необходим для создания и запуска нашего первого экрана. В листинге 6.1 показан класс MrNomGame.

Читать »

Графика OpenGL в Android приложении

Добавлено Дата: 12 August, 2013 категория: Разработка для Android

 

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

Читать »

СОСТАВНЫЕ ЧАСТИ ПРИЛОЖЕНИЯ ANDROID

Добавлено Дата: 9 August, 2013 категория: Разработка для Android

Опираясь на базовые концепции, изложенные в предыдущих главах и позволяющие писать надежный код на языке Java, перейдем к этой главе, в которой делается введение в основные и самые важные темы, связанные с программированием на платформе Android.

СРАВНЕНИЕ ANDROID И ТРАДИЦИОННЫХ МОДЕЛЕЙ ПРОГРАММИРОВАНИЯ

Читать »

GLGAME: РЕАЛИЗАЦИЯ ИГРОВОГО ИНТЕРФЕЙСА

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

 

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

Читать »