СТВОРЕННЯ РЕСУРСІВ DROID INVADERS

&nbsp

Як і в попередніх іграх, у нас є два типи графічних активів: елементи призначеного для користувача інтерфейсу (наприклад, логотипи або кнопки) і моделі різних обєктів нашої гри

Активи користувача інтерфейсу

Ми знову будемо створювати активи користувача інтерфейсу щодо цільового дозволу екрану Наша гра буде працювати в пейзажному режимі, тому ми просто виберемо цільове дозвіл рівним 480 х 320 пікселів Екрани на рис 124 вже містять всі елементи, які присутні в нашому інтерфейсі: логотип, різні пункти меню, кілька кнопок і пара рядків тексту Для тексту ми повторно використовуємо шрифт, який вже застосовували для гри Великий стрибун Ми вже збирали докупи всі ці елементи в попередніх іграх, і ви вже знаєте, що приміщення їх в атлас текстур позитивно позначиться на продуктивності Тому розглянемо атлас текстур, який будемо використовувати для гри Droid Invaders, що містить всі елементи призначеного для користувача інтерфейсу, а також шрифт, який буде застосовуватися на всіх екранах гри Атлас текстур показаний на рис 126

Таку ж концепцію ми використовували в грі Великий стрибун У нас також є фонове зображення, яке буде отрісовиваться на всіх екранах Воно показано на рис 127

Рис 126 Атлас, що містить елементи призначеного для користувача інтерфейсу, такі як кнопки, логотип і шрифт Він зберігається у файлі itemspng розміром 512 х 512 пікселів

Рис 127 Фонове зображення, що зберігається у файлі backgroundjpg розміром 512×512 пікселів

Як ви можете побачити на рис 124, ми використовуємо лише верхній лівий регіон цього зображення для отрисовки повної картинки (480 х 320 пікселів)

Це все елементи призначеного для користувача інтерфейсу, які нам знадобляться Розглянемо 3D-моделі та їх текстури

Ігрові ресурси

Як я говорив у главі 11, в цій е не розглядатимуться способи створення 3D-моделей за допомогою програм на зразок Wings3D Якщо ви хочете створити власні моделі, вам слід вибрати програму, вирішальне подібні завдання, і пройти курс навчання роботи з ним, який часто виявляється безкоштовним і вільно доступним в Мережі Для створення моделей гри Droid Invaders я використовував програму Wings3D і просто експортував їх у форматі OBJ, який ми можемо завантажити за допомогою нашого фреймворка Всі моделі складаються з трикутників і мають координати текстур і нормалі Для деяких з них координати текстури не є обовязковим параметром, але їм не зашкодить їх мати Модель корабля і його текстура показані на рис 128

Рис 128 Модель корабля, створена в програмі Wings3D (shipobj), і її текстура (shippng, 256 х 256 пікселів)

Важливим моментом є те, що корабель, зображений на рис 128, має лише приблизний радіус, позначений нами в попередньому розділі Нам не потрібно нічого масштабувати або перетворювати розміри і позиції з однієї системи координат в іншу Модель корабля визначається в тих же одиницях виміру, що і його обмежує сфера

На рис 129 показана модель загарбника і його текстура

Модель загарбника слід тими ж принципами, що і модель корабля У нас є один OBJ-файл, що зберігає позиції вершин, координати текстури, нормалі і зображення текстури

Блоки щитів і постріли моделюються як куби і зберігаються в файлах shield, obj та shot obj Хоча до них прикріплені координати текстури, ми насправді не накладаємо текстури при їх відображенні Ми просто малюємо їх як (напівпрозорі) обєкти певного кольору (синій у випадку блоків, жовтий у разі пострілів)

Рис 129 Модель загарбника (invaderobj) і його текстура (invaderpng, 256 х 256 пікселів)

Нарешті, розглянемо вибухи Як нам їх змоделювати Нам це не потрібно Ми зробимо те ж саме, що робили в 2D, і просто намалюємо прямокутник з підходящої позицією по осі z в нашому ЗО-світі, наклавши на нього текстуру одного кадру з текстурного зображення, що містить анімацію вибуху Цей же принцип використовувався для створення анімованих обєктів у грі Великий стрибун Єдина відмінність полягає в тому, що ми будемо малювати прямокутник в позиції по осі z, меншою 0 (де знаходиться вибухає обєкт) Ми навіть можемо змусити робити це клас Spri teBatcher Ура OpenGL ES На рис 1210 показана текстура

Рис 1210Текстура, що містить анімацію вибуху (explodepng, 256 х 256 пікселів)

Кожен кадр анімації має розмір 64 х 64 пікселя Все, що нам потрібно, – згенерувати текстурні регіони для кожного кадру і помістити їх в екземпляр класу Animation, який ми можемо використовувати для отримання коректного кадру для заданого часу анімації, точно так само, як ми робили це для гри Великий стрибун

Звук і музика

Для створення звукових ефектів я знову використав програму sfxr Звуковий ефект вибуху я знайшов в Інтернеті Це загальнодоступний звуковий ефект, тому ми можемо використовувати його в грі Droid Invaders Музику для гри я написав сам За допомогою справжніх інструментів Так, я настільки старомодний Ось список всіх аудіофайлів гри Droid Invaders:

· clickogg – звук клацання, необхідний для пунктів меню і кнопок –

· shotogg – звук пострілу

· expl osi on ogg – вибух

· musi с mp3 – композиція в стилі рок / метал, яку я написав для гри Droid Invaders

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*