Вакансии
Игродельня
Сегодня
10 декабря 2019
19:36
Вход Регистрация Забыли пароль ?

webinformatic - Основы DirectSound8 в среде Delphi6-7
        Основы Dire
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

webinformatic - как создать инсталлятор для собственной cms

webinformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

webinformatic - Выгрузка файла на сайт

webinformatic - выпадающее меню на html и css

webinformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

webinformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

webinformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

webinformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

webinformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

webinformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

webinformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

webinformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

webinformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

webinformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

webinformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

webinformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

webinformatic - Основы IDirectMusic8 в среде Delphi6-7

webinformatic - Основы DirectInput8 в среде Delphi 7

webinformatic - Основы DirectSound8 в среде Delphi6-7

webinformatic - Плагин для 3DS MAX из DX9 SDK

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Как создать игру - Создание игровых панелей и индикаторов

[к содержанию]

В любой или почти любой игре Вы встретите некоторое количество игровых панелей или различных игровых индикаторов.

игра Веселый Буквоежка - вверху мы видим игровую панель и несколько индикаторов

На данном скриншоте видно в левом верхнем углу небольшая зеленая панелька, на которой есть иконки "ГЛАЗ" и "МЕНЮ". В игре эти кнопки выполняют какие-либо действия, например, "ГЛАЗ" может скрывать все панели и снова отображать их, а "МЕНЮ" позволяет выйти в ГЛАВНОЕ МЕНЮ игры.

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

Здесь же мы видим целый ряд игровых индикаторов - "жизненная сила", "карман" (в нём на скриншоте находится лопата), "магическая энергия" (показано значение 400), отсчёт игрового времени (0:13:35), "бодрость".

Индикаторы служат в игре для отображения состояния каких-либо важных игровых параметров, в данном случае - "жизненная сила" - отображает уровень жизненной силы, которая не должна достигнуть 0, иначе герой погибнет и игра закончится, "бодрость" - которая позволяет игроку атаковать смехом и другие.

Иными словами индикатор и игровая панель - это просто какое-то статичное или анимированное программным путём изображение в игре.

Следовательно, чтобы научиться выводить в игре игровые панели и индикаторы нужно научиться загружать нужные изображения в игровое приложение, вывести их на экран в нужной позиции, программным путём отслеживать нажатие кнопок на игровых панелях, программным же путём отслеживать состояние параметров героя и выводить их в виде индикаторов, отображая числовое значение или значение в виде столбика или полосы прогресса.

Рассмотрим какой код необходим для управления высотой столбика индикатора жизненной силы.

Для начала нам понадобится минимально необходимый код для создания игрового 2d приложения на базе directx 9c.

Скачиваний : 1


Данное приложение (min_2d_game_app) представляет собой набор .h и .cpp модулей, собранных в проект MSVS 2005, пригодный для сборки с DX SDK Aug 2008. Все необходимые исходные файлы прилагаются.

Вы можете скачать данный проект себе, распаковать и попробовать запустить файл Coords2D.exe расположенный в min_2d_game_app\Coords2D\Coords2D\Coords2D\

Для самостоятельной сборки проекта и экспериментов с кодом вам понадобится среда разработки MSVS 2005 или выше, а также DX SDK Aug 2008.

Итак, как я уже говорил, мы попробуем разобраться как создать простейший игровой индикатор - столбик жизненной силы.

приложение Coords2D в действии - min_2d_game_app - минимально необходимый код для создания игрового 2d приложения на базе directx 9c Суть решения заключается в следующих шагах:

1) Открыть проект Coords2D из папки min_2d_game_app в среде MSVS 2005;

2) Разместить файл изображения индикатора в папке min_2d_game_app\Coords2D\Coords2D\Coords2D\Media\textures\indicator\

3) Добавить данный файл + его параметры в список загружаемых - для этого открыть текстовый файл

min_2d_game_app\Coords2D\Coords2D\Coords2D\Media\textures\tex_list.txt

и в самое начало файла добавить строчку -

indicator\live_power_end.tga; -1.0f; 0.54f; 0.7f; 1.0f; -1.0f; 68; 128; 0; 0; 1; 0.0f; 0.0f;

Назначение параметров вы можете узнать из readme.txt который входит в состав min_2d_game_app (описание к утилите Coords2D).

4) Открыть модуль Coords2D.cpp и в нём найти метод void CD3DGameApp::AnimSprites()

метод AnimSprites выполняет анимацию всех спрайтов класса CD3D9Sprite - это все объекты, которые загружаются из файла tex_list.txt

Самым первым из них будет объект индикатора (при условии что вы выполнили шаг 3), тогда будет корректным использовать такой код -

void CD3DGameApp::AnimSprites()

{

if ( SpritesArray == NULL )

return;



if ( SpritesArray->GetCount() == 0 )

return;



for ( int i = 0; i < SpritesArray->GetCount(); i++ )

{



/* получаем объект спрайта - для того чтобы проверить не является ли он

индикатором жизненной силы - т. е. объект с индексом 0 в массиве */

CD3D9Sprite* Sprite = (CD3D9Sprite*)SpritesArray->GetAt(i);

if ( i == 0 ) //проверяем какой сейчас был выбран элемент из массива

{



/* если был выбран 0 элемент - значит это спрайт индикатора - выставляем его высоту

в зависимости от координаты y указателя мыши */

Sprite->Height = (int)(g_d3dApp.m_CursorPos.y * 200.0f);



}



AnimateSprite(i, m_fElapsedTime);





}



}



Поскольку указатель мыши имеет координатное пространство для оси Y от 1.0 до -1.0, то мы умножаем значение на 200.0f (float), а затем приводим к типу int, т. к. высота Height у спрайта должна быть целым числом.

Теперь высота индикатора в вашем d3d-приложении будет меняться при перемещении указателя мыши по оси Y.

В качестве эксперимента попробуйте задавать вместо 200.0f другие значения, перекомпилировать приложение и снова запускать.

Как видите вывод индикатора в игре не представляет теперь для Вас особой сложности.

Самое главное придумать при каких условиях и каким образом он будет изменяться. Например в игре ВЕСЕЛЫЙ БУКВОЕЖКА индикатор жизненной силы угасает при столкновении с пауками. А если жизненная сила достигнет 0 значения, игра завершается как проигранная.

[к содержанию]

X
игра Шарики на лифте Серия 1 Разгони Лифт / Balls on Lift Level 1 Run The Lift версия 0.9.2 05.10.2016 / version 0.9.2 05.10.2016
 

Оставленные комментарии



Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
Время загрузки: 0,3478