ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
16 октября 2018
0:24
Вход Регистрация Забыли пароль ?

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 11
Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 11 Онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as). - Подожди-ка, мне звонят. Алло ? - Костя, Ты куда пропал ?
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic - бесплатная флеш игра freeway fury 2 - разработчик Serius Games

megainformatic - бесплатные флеш игры сторонних разработчиков

megainformatic - Как я осваивал Flash

megainformatic - Список уроков на тему создания flash приложений и игр

megainformatic - Как я осваивал Flash - шаг 2 - Основы создания простейших flash - игр

проект портала Идеи Комфорта

megainformatic - игра Веселый Буквоежка

megainformatic - игра Веселый Буквоежка

megainformatic - Использование cron, crontab и планировщика задач

megainformatic - Совместное использование jquery и mootools или других js-фреймворков

megainformatic - Модуль content php performer для megainformatic cms

megainformatic - Пишем компактный слайдер

megainformatic - Что нужно знать для создания сайта ?

megainformatic - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

megainformatic - Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

megainformatic - Что нужно знать для создания сайта ? Содержание

megainformatic - Что нужно знать для создания сайта ? css - стили

megainformatic - preg_match или Использование регулярных выражений в php

megainformatic - статьи Тимонина Андрея - Flash. Содержание

megainformatic - статья Тимонина Андрея - Flash. Подготовка к работе.

megainformatic - статья Тимонина Андрея - Flash. Hello world.

megainformatic - статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

megainformatic - Тимонин Андрей - Несколько слов о себе

megainformatic - статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

megainformatic - статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

megainformatic - статья Тимонина Андрея - Хронология работы программы. Создаем Лог

megainformatic - статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

megainformatic - статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

megainformatic - статья Тимонина Андрея - States. Создаем менеджер состояний игры.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

megainformatic - статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

megainformatic - статья Тимонина Андрея - Таймер. Выводим время игры.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

megainformatic - статья Тимонина Андрея - DirectX9. Создаем первое приложение.

megainformatic - Что нужно знать для создания сайта ? float - использование в css - стилях

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

megainformatic - Что нужно знать для создания сайта ? Стандартные шрифты для сайта

megainformatic - Что нужно знать для создания сайта ? ASC II Коды символов

megainformatic - Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. СОДЕРЖАНИЕ

megainformatic - Популяризация Современных Научных Знаний и Размышления на околонаучные темы. Энергетический кокон

megainformatic - Модуль галерей для любой cms

megainformatic - Портфолио выполненных проектов сайтов и приложений

megainformatic - Мои Музыкальные Миры - страница 2

megainformatic - megainformatic cms rs

megainformatic - модуль Падающий снег

megainformatic - проект Open Shop

megainformatic - Рисуем красивую девушку всего за 6 шагов

megainformatic - Галерея красивых рисованных девушек

megainformatic - НОВОГОДНЕЕ ОБРАЩЕНИЕ СОЗДАТЕЛЯ webinformatic К ЖИТЕЛЯМ ПЛАНЕТЫ интернет

megainformatic - Отзывы оставленные пользователями как впечатление о проделанной работе или что-либо понравившееся на сайте

megainformatic - Уроки css - атрибут position

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - СОДЕРЖАНИЕ

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 1 - Обычный день

megainformatic - Ива Ден энд КуХа - КОДЕКС ФРИЛАНСЕРА - Глава 2 - Начало (begin)

Creating game on fle game engine - Simple game / Создание игры на fle game engine - Simple game

6 - Загрузка игровой сцены



read paper in english

Пришло время перейти к самому главному и интересному вопросу - загрузке и отображению созданной вами в Scene Editor fge игровой сцены.





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







С прыгающим шариком пока всё ясно. Оставим его ненадолго. Теперь пришло время загрузить нашу игровую сцену.

1) Нам нужно загрузить созданную сцену в наше приложение и показать на экране.

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

Прежде нужно подготовить все файлы ресурсов игровой сцены, как это было описано на странице 2 - Объекты

Уберем все неиспользуемые типы, объекты и изображения - оставим только





simple_game\SceneEditor\Media\textures\environment\desc\scene_editor_types.txt



none; 0;
ai_player; 1;
floor; 2;
test; 3;


simple_game\SceneEditor\Media\textures\environment\desc\scene_editor_texlist.txt



ball; ai_player; ai_player\jump.tga; 64; 128; 0; 0; 4; 8.0f; 14.0f;
floor; floor; floor\floor.jpg; 101; 101; 0; 0; 1; 0.0f; 0.0f;
floor_front; floor; floor\floor_front2.tga; 101; 101; 0; 0; 1; 0.0f; 0.0f;
floor2; floor; floor\floor2.jpg; 101; 101; 0; 0; 1; 0.0f; 0.0f;


Следует иметь в виду, что если Вы меняете файлы типов и ресурсов, то созданные с их использованием файлы сцен уже работать не будут !

Поэтому нужно реализовать новую сцену с новой сборкой прописанных ресурсов - просто повторив уже ранее проделанное на странице 3 - Наложение объектов

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - сцена готова

Теперь берем всю папку

simple_game\SceneEditor\Media\textures\environment\





и переносим её в папку ресурсов нашей игры simple_game

simple_game\simple_game\Media\textures\





Папку

simple_game\SceneEditor\scenes\simple_game\



и файл созданной вами игровой сцены, у меня он назывался scene_3.SCN,

переносим в папку

simple_game\SceneEditor\Media\textures\environment\scenes\



Т. е. вот так

simple_game\SceneEditor\Media\textures\environment\scenes\simple_game\scene_1.SCN



Сцену я снова назвал scene_1.SCN, чтобы обозначить, что это будет самая первая (и пока единственная) игровая сцена в нашей игре simple_game.



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

Первое, что Вам потребуется - это модуль GameSceneFile т. е. 2 файла - GameSceneFile.h и GameSceneFile.cpp которые нужно будет добавить в проект.

подключение модуля GameSceneFile в ваш проект

Далее в файл start.h после строки

#include "d_input.h"

нужно добавить строку подключения заголовочного файла данного модуля -

#include "GameSceneFile.h"



Далее в класс нашего приложения CD3DGameApp После строчки

bool m_bShowScreenOptionsBtn;

добавляем новое поле - CGameSceneDataFile* m_pGameSceneDataFile;



Это объект для управления нашей сценой. Все его методы описаны в модуле GameSceneFile представленном, как Вы уже видели 2 файлами - GameSceneFile.h и GameSceneFile.cpp.

Файл GameSceneFile.h - заголовочный - описывает заголовки функций, полей и методов, а файл GameSceneFile.cpp описывает их реализацию на языке программирования c++.



Теперь нужно добавить в модуль нашего приложения start.cpp следующие строки кода



1)

#include "game_sprite.h" //это строка после которой нужно добавить

#define SimpleGameLocation L"\\Media\\textures\\environment\\scenes\\simple_game\\scenes_list.txt" //это строка которую нужно добавить
#define SimpleGameScenesPath L"\\Media\\textures\\environment\\scenes\\simple_game\\" //это строка которую нужно добавить




Вам потребуется еще создать файл scenes_list.txt в папке

simple_game\simple_game\Media\textures\environment\scenes\simple_game\





И поместить в него следующую запись -

scene_1.scn



И больше ничего, никаких переводов строки и пустых строк !!



Далее, там же, в модуле нашего приложения start.cpp

2)

В методе -

CD3DGameApp::CD3DGameApp



CD3DGameApp::CD3DGameApp()
{
//...

m_pSprite = NULL;

} //это строка после которой нужно добавить



//это строки которые нужно добавить

void CD3DGameApp::LoadGameScene()
{
//создание игровой сцены
m_pGameSceneDataFile = new CGameSceneDataFile();
m_pGameSceneDataFile->PreLoadGameTextures();

m_pGameSceneDataFile->LoadLocation(SimpleGameLocation, SimpleGameScenesPath);

//получение границ локации
ScrollGameSceneLeftLimit = -m_pGameSceneDataFile->m_fLocationHScrollLimit;
ScrollGameSceneRightLimit = m_pGameSceneDataFile->m_fLocationHScrollLimit;
//выставление границ локации, доступных из других модулей
g_fScrollGameSceneLeftLimit = ScrollGameSceneLeftLimit;
g_fScrollGameSceneRightLimit = ScrollGameSceneRightLimit;

//загрузка свойств объектов, границ
//LoadGameObjProperties(GameObjectPropertyValue); //поскольку закомментировано, то здесь пока не используется

}





Этот же метод нужно добавить в start.h

в описание класса

class CD3DGameApp

после строки

bool m_bShowScreenOptionsBtn;

добавим -





//игровая сцена

CGameSceneDataFile* m_pGameSceneDataFile;
void LoadGameScene();
//void AfterLoadRestoreLocTextures(); //закомментировано, т. к. пока не требуется
void MovePlayer(int NewMoveState);
void ScrollGameScene();

int m_iOldCurrSceneNum;
int m_iOldCurrSceneInx;

D3DXVECTOR3 m_vFleHeroPos;
void SetHeroLocationPos(DWORD CurrMoveState, LPD3DXVECTOR2 p_v2Pos,
float LocationXOffset);
void AnimGameProcess();
void DrawGameProcess();
bool CanEnterScene();
void LoadGameDataBlock();

}; //вышеуказанные строки надо добавить, а данная уже должна быть - служит для закрытия описания класса CD3DGameApp




Теперь снова возвращаемся к коду модуля start.cpp и добавляем туда

в метод

CD3DGameApp::CreateDeviceObjects

После строки -



g_Snow.Load();



строки -



LoadGameScene();

LoadGameSceneTextures(m_pGameSceneDataFile->m_pTexArray, EnvironmentTexturesPath, TextureFilesList, m_pGameSceneDataFile->m_pSprite);





в методе

CD3DGameApp::RestoreDisplayObjects

добавляем

if ( m_pGameSceneDataFile )
m_pGameSceneDataFile->RestoreGameSceneObjects();

в методе

CD3DGameApp::InvalidateDisplayObjects

добавляем

if ( m_pGameSceneDataFile )
m_pGameSceneDataFile->InvalidateGameSceneObjects();


в методе

CD3DGameApp::DestroyDisplayObjects

добавляем

m_pGameSceneDataFile->FreeGameTextures();
SAFE_DELETE(m_pGameSceneDataFile);



в любом месте, но удобнее в самом конце файла, добавляем -

void CD3DGameApp::MovePlayer(int NewMoveState)
{
/*
Если сцена закрыта - запрет движения
*/

m_pGameSceneDataFile->m_fHeroXPosInLocation = g_fHorizontalScrollOffset;
m_pGameSceneDataFile->CalcCurrentSceneNumber();
//if ( !CanEnterScene() )
//{
//x_step = 0.0f;
//}
}

//=============================================
//
// Скроллинг игровой сцены
//
//=============================================

void CD3DGameApp::ScrollGameScene()
{

//перед выполнением прокрутки локации запоминаем номер текущей сцены,
if ( m_iOldCurrSceneInx != m_pGameSceneDataFile->m_iCurrentSceneIndex )
{
m_iOldCurrSceneInx = m_pGameSceneDataFile->m_iCurrentSceneIndex;
m_iOldCurrSceneNum = m_pGameSceneDataFile->m_iCurrentSceneNumber;

g_iCurrentSceneNumber = m_pGameSceneDataFile->m_iCurrentSceneNumber;
}

m_pGameSceneDataFile->ScrollLocation( &D3DXVECTOR2(
g_fHorizontalScrollOffset + m_vFleHeroPos.x,
g_fVerticalScrollOffset ), g_fHorizontalScrollOffset);

}
//произвольное положение героя в локации
void CD3DGameApp::SetHeroLocationPos(DWORD CurrMoveState, LPD3DXVECTOR2 p_v2Pos,
float LocationXOffset)
{
m_vFleHeroPos = D3DXVECTOR3(p_v2Pos->x, p_v2Pos->y, 0.8f);

g_fHorizontalScrollOffset = LocationXOffset;
m_pGameSceneDataFile->m_SceneScrollPoint.x = g_fHorizontalScrollOffset;

ScrollGameScene();
}

void CD3DGameApp::AnimGameProcess()
{

m_pGameSceneDataFile->AnimateGameScene(g_fElapsedTime);
m_pGameSceneDataFile->AnimLocation();

MovePlayer(0);
}

void CD3DGameApp::DrawGameProcess()
{
m_pGameSceneDataFile->DrawGameSceneView();
m_pGameSceneDataFile->DrawLocation();
}

bool CD3DGameApp::CanEnterScene()
{
return true; //test
}

void CD3DGameApp::LoadGameDataBlock()
{
m_pGameSceneDataFile->m_SceneScrollPoint.x = g_fHorizontalScrollOffset;

if ( g_fHorizontalScrollOffset != 0.0f )
ScrollGameScene();
}





И наконец вызовы методов

AnimGameProcess();

и

DrawGameProcess();

Отвечающие за анимацию и отображение игровой сцены, нужно добавить в

метод

CD3DGameApp::FrameMove

g_AI_Ball_Sprite.Anim(); //это строка после которой надо добавить

AnimGameProcess();//это строка которую надо добавить



а в метод

CD3DGameApp::Render

case APPSTATE_READY: //это строка после которой надо добавить

DrawGameProcess();//это строка которую надо добавить



Сохраняем изменения, выполняем сборку проекта в MSVS 2005. Если всё ок, то при запуске приложения Вы увидите на экране созданную Вами в Scene Editor fge игровую сцену и прыгающий в ней шарик.

Отображение созданной игровой сцены приложением simple game

Пример данной будущей игры с полным исходным кодом Вы можете получить в составе платной подписки на fle game engine.

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

Оформить подписку на fle game engine -


Стоимость: 600 руб.

Тогда вы получите более свежую версию Scene Editor fge 1.0.2 (на текущий момент) с поддержкой большего количества возможностей: сетка, настройки, скроллинг и другие. В бесплатной версии эти возможности не поддерживаются. подробнее о составе платной подписки.





Для корректной сборки проекта Вам потребуется Microsoft Visual Studio 2005

DirectX SDK August 2008



https://www.microsoft.com/en-us/download/details.aspx?id=23549
Details
Version:
9.27.1734
File Name:
DXSDK_Aug09.exe
Date Published:
9/8/2009
File Size:
553.3 MB




Чтобы проект можно было корректно скомпилировать выполните следующие действия:

Откройте проект из MSVS 2005

в окне Solution Explorer кликните правой кнопкой по узлу start - обозначающему имя проекта
и выберите пункт меню

Properties

свойства проекта

В открывшемся окне start Property Pages слева откройте узел

Configuration properties > C/C++ > General

свойства проекта Additional Include Directories

затем справа в поле Additional Include Directories

вместо ..\..\..\..\..\..\..\Include

вам нужно прописать корректный путь к папке Include, входящей в состав DirectX SDK August 2008.

Т. е. нужно заменить часть строки ..\..\..\..\..\..\..\Include

на абсолютный путь -

например он может быть таким -

C:\DXSDK9_Aug2008\Include

или относительный -

например он может быть таким -

..\..\..\..\..\..\..\..\..\Include



Аналогичное действие Вы должны проделать для Debug сборки - выберите в поле Слева вверху Configuration вариант Debug.

свойства проекта Additional Include Directories для Debug сборки

На вопрос Do you want to save changes you've made in the property pages ?

Отвечайте утвердительно - Да или Yes.



Далее откройте слева узел

Configuration properties > Linker > General

и в поле

Additional Library Directories

измените значение

..\..\..\..\..\..\..\Lib\x86

свойства проекта Additional Library Directories

на соответствующее вашему пути к установленному DXSDK9_Aug2008

здесь также по-аналогии, можно указать абсолютный

C:\DXSDK9_Aug2008\Lib\x86

или относительный - зависящий от того где на диске расположена папка проекта simple_game.

Например он может быть таким -

..\..\..\..\..\..\..\..\..\Lib\x86

Указанное действие нужно проделать и для Debug конфигурации проекта.

выберите в поле Слева вверху Configuration вариант Debug.

На вопрос Do you want to save changes you've made in the property pages ?

Отвечайте утвердительно - Да или Yes.



Если всё настроено правильно. Нажимаем ОК.

Далее в поле под главным меню выбираем вариант сборки проекта Debug или Release в панели инструментов

чуть правее от кнопки с зеленым треугольником - означающим запуск проекта из среды MSVS 2005 в режиме отладки.

Далее в главном меню выбираем пункт Build > Clean Solution - чтобы очистить все устаревшие объектные файлы.

Затем Build > Rebuild Solution.

Если всё было настроено правильно и в ходе компиляции вы не получили никаких сообщений об ошибках, то в папке

simple_game\simple_game\

вы найдете созданный файл start.exe, который можно запускать на выполнение.



[назад] [далее]



megainformatic live chat
Начать беседу
X
 

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



fle game engine - движок для создания игр
fle game engine - движок для создания игр


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
















    
Время загрузки: 0,1029