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


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
22 февраля 2019 21:25
Вход Регистрация Забыли пароль ?

megainformatic - Урок 2 Создаем и обрабатываем команды меню.
        Урок
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 4

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Уроки Photoshop

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 4

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 4

megainformatic - Эмулятор игры Ну, Погоди!

megainformatic - Оплата заказа через Сбербанк

megainformatic - Пример игры с исходным кодом Donuts3D

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

megainformatic - Открытый Полный Исходный код игры Дорога в Город

megainformatic - Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

megainformatic - Как создать игру - Веселый Единственный Буквоежка - выводим заставку

megainformatic - Как создать игру - Веселый Единственный Буквоежка - игровое меню

megainformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

megainformatic - Примеры моих работ

megainformatic - Музыкальные темы

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Онлайн Обучение, Репетитор

megainformatic - Уроки Photoshop - Рисуем и Анимируем

megainformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

megainformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

megainformatic - DirectX 9c - Изучаем пример MultAnimation

megainformatic - megainformatic cms Система Управления Контентом

megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

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

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

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

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

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

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

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

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

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

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

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

Технологии WEB

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

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

Продукты

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

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

подробнее

Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny)

Приключения Кости Коробкина - С новым годом - интерактивный комикс
Костя Коробкин -
С новым годом
(kk hny)
Костя :- Эта история произошла со мной под новый год. Что-то может показаться вам выдумкой или даже фантастикой, но я Вас уверяю - это было на самом деле !

Новогодние приключения Кости Коробкина. Авторские музыкальные темы. Костя Коробкин встречает новый год. Что может приключиться под новый год, когда самые заветные желания исполняются ?

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

Системные требования:

Windows 98SE/2000/Me/XP/DirectX9c /P3 1000 МHz / 128 Mb RAM / 32 Mb Video / около 100 Mb свободного места на жестком диске/DirectX-совместимая звуковая карта/ клавиатура, мышь

Приобрести интерактивный комикс Приключения Кости Коробкина - С новым годом (kk hny)


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





Приключения Кости Коробкина - С новым годом - интерактивный комикс

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

Приключения Кости Коробкина - С новым годом - интерактивный комикс
Комикс работает под управлением специального приложения, странички можно листать, увеличивать/уменьшать, делать паузу в автопролистывании.

Системные требования:

Windows 98SE/2000/Me/XP/DirectX9c /P3 1000 МHz / 128 Mb RAM / 32 Mb Video / около 100 Mb свободного места на жестком диске/DirectX-совместимая звуковая карта/ клавиатура, мышь

Приобрести интерактивный комикс Приключения Кости Коробкина - С новым годом (kk hny)

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





подробнее

Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 5

Предлагаем вашему вниманию онлайн-комикс Приключения Кости Коробкина - Как я провел лето.

Прикольный сегодня день ! Сначала два мяча нашлись, теперь дважды освежились. Люблю я лето !!!

онлайн-комикс Приключения Кости Коробкина - Как я провел лето страница 5

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1] [страница 2] [страница 3] [страница 4] [страница 5]  [страница 6] 

подробнее

 

Что нужно знать для создания DirectX-приложений на C++ в среде Microsoft Visual Studio 2008

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

 
     
   
     
 

Данный урок является введением в программирование на C++ в MSVS 2008

Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал),

и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008.

 
     
  [назад] [далее] [к содержанию]  
     
  Мы рассматриваем основы программирования на C++ в среде программирования MSVS 2008  
     
 

Реализация данной задачи - вывод диалога выбора цвета, например при нажатии пункта меню Save, будет выглядеть так (код нужно добавить в функцию WndProc) -

case IDM_OPTIONS_SAVE:
{

//++ учебный код для отображения диалога выбора цвета при выборе пункта меню Save
CHOOSECOLOR chcol;
chcol.lStructSize = sizeof(CHOOSECOLOR);
chcol.hwndOwner = hWnd;
static COLORREF CustColorsArray[16];
chcol.lpCustColors = CustColorsArray;
chcol.Flags = CC_FULLOPEN;
ChooseColor(&chcol);

//++


}
break;

 
     
 

Выбранный цвет должен использоваться в качестве цвета рабочей области окна приложения

Получение доступа к цвету рабочей области окна приложения

В функции MyRegisterClass при регистрации окна осуществляется задание начального цвета рабочей области окна -

wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

CreateSolidBrush

GetClassInfoEx

SetClassLongPtr(

Поиск информации по типу HBRUSH - на вкладке Index справки набрать HBRUSH, в списке вариантов выбрать HBRUSH, в открывшемся окне найти HBRUSH и открыть соответствующую ему тему brush

 
     
  HBRUSH hbrush, hbrushOld;


// Create a brush.
hbrush = CreateSolidBrush(RGB(255, 0, 0));

// Select the new brush, and then draw.
hbrushOld = SelectObject(hdc, hbrush);

// Do not forget to clean up.
SelectObject(hdc, hbrushOld);
DeleteObject(hbrush);

 
     
 

Полный вариант: реализация поставленной задачи - вывод диалога выбора цвета и смена цвета рабочей области окна в соответствии с выбранным в диалоге цветом -

case IDM_OPTIONS_SAVE:
{

CHOOSECOLOR chcol;
chcol.lStructSize = sizeof(CHOOSECOLOR);
chcol.hwndOwner = hWnd;
static COLORREF CustColorsArray[16];
chcol.lpCustColors = CustColorsArray;
chcol.Flags = CC_FULLOPEN;
if (ChooseColor(&chcol))
//вызываем диалог и запоминаем выбранный цвет
WindowBackgroudColor = chcol.rgbResult;

if (hWindowBackgroundBrush) //удаляем созданную ранее кисть HBRUSH если она существовала
DeleteObject(hWindowBackgroundBrush);

hWindowBackgroundBrush = CreateSolidBrush(WindowBackgroudColor); //создаем новую кисть выбранного цвета

//задаем кисть в качестве фона окна приложения

SetClassLongPtr(hWnd, GCLP_HBRBACKGROUND, (LONG)hWindowBackgroundBrush);

//выполняем перерисовку окна, иначе фон изменится только после свертывания и развертывания окна
RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);

//++


}
break;

Переменные

//++
COLORREF WindowBackgroudColor;
HBRUSH hWindowBackgroundBrush;
//++

объявляются в начале модуля приложения как глобальные

Обработчик сообщения WM_DESTROY примет следующий вид:

case WM_DESTROY:
{
if (hWindowBackgroundBrush)
DeleteObject(hWindowBackgroundBrush);
PostQuitMessage(0);
}
break;

 
     
 

Начальный цвет фона рабочей области окна задается в функции MyRegisterClass строкой кода -

//wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.hbrBackground = (HBRUSH)(COLOR_BACKGROUND+1);

при этом будет использован системный цвет заднего плана (по-умолчанию черный)

 
     
  Для задания произвольных цветов рабочей области нужно использовать HBRUSH по аналогии с тем, как это сделано в обработчике выбора пункта меню Save (IDM_OPTIONS_SAVE)  
     
  в следующем уроке - Написание приложения DirectX9c + MFC в среде MSVS 2005  
     
     
  [назад] [далее] [к содержанию]  
подробнее

     
  [Назад] [Все уроки] [Далее]  
     
 

12/06/2008 Воспроизведение файлов в форматах *.it, *.xm, *.s3m, *.mod

Для воспроизведения используется интерфейс для библиотеки FMOD 3.75 (c) Firelight Technologies Pty, Ltd,
1994 - 2004 http://www.fmod.org

Автор конверсии на Delphi - Dragan Bocevski.

Полный список понимаемых библиотекой FMOD 3.75 файлов -

*.MOD;*.S3M;*.XM;*.IT;*.MID;*.RMI;*.SGT;*.WAV;*.MP2;*.MP3;*.OGG;*.WMA;*.ASF

 

Чем FMOD 3.75 отличается от miniFMOD?

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

FMOD 3.75 также распространяется на бесплатной основе, но возможности его несоизмеримо шире. Заметно, что качество звука воспроизводимого трека гарантированно выше, а возможности по настройкам и регулировкам - все какие только нужны: громкость, списки воспроизведения, регулировка позиции воспроизведения по паттернам, спектральный анализатор звуковой волны и многое другое, что потянет на использование уже не только в игровом проекте, но и для написания собственного медиа-плеера наподобие ModPlugPlayer или даже тректера наподобие ModPlugTracker. Правда следует отметить, что ModPlugPlayer и ModPlugTracker написаны совсем на другой основе (по крайней мере не на основе FMOD), хотя и используют те же ставшие стандартом де-факто трекерские форматы - *.it, *.xm, *.s3m, *.mod и еще целый ряд подобных им.

 

Почему бы не взять для музыки OggVorbis и ограничиться этим?

Вполне можно, разработчики современного FMOD версии 4.17 пошли еще дальше и разработали формат OXM, который еще более компактен чем оригинальные XM-файлы за счет сжатия сэмплов в формате ogg. Если Вам это нужно, то можете использовать самые свежие версии FMOD.

Мы же здесь ограничимся рассмотрением использования версии FMOD 3.75 в игровом проекте Нечто: Необъяснимое.

В этом проекте планируется использовать OggVorbis преимущественно для воспроизведения длинных речевых диалогов. FMOD 3.75 - для воспроизведения оригинальных музыкальных треков в форматах *.it, *.xm и других.

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

Музыкальные файлы также будут компактны, за счет использования не слишком больших сэмплов и за счет того, что не будут экспортироваться в ogg, а будут оставаться в своем родном формате, в котором они были написаны в трекере!

Поскольку FMOD 3.75 умеет открывать и воспроизводить и файлы в формате OggVorbis, то использование отдельной библиотеки и ее файлов не потребуется!

 
Что нужно для использования FMOD 3.75 ?
 

В первую очередь, конечно, нужно создать свои треки, например в ModPlugTracker 1.16. Есть и несколько уроков, посвященных этой проблеме - введение в трекерскую музыку, введение в ModPlugTracker 1.16 и ряд других. Если файлы содержат речь или длинные наборы звуков, то их нужно пересохранить в более компактном формате - сначала экспортировать в Wav или mp3, а затем в Ogg. Поскольку FMOD 3.75 понимает и mp3 файлы, то можно оставить в формате mp3. Однако это целесообразно делать только для записей речи. Музыкальные файлы в трекерских форматах (*.it, *.xm, *.mod, *.s3m) более компактны чем mp3 или ogg поскольку содержат только наборы сэмплов и нот, а не непрерывную звуковую дорожку, которая должа играть на протяжении определенного времени как это имеет место в wav, mp3 и ogg. Правда mp3 и ogg позволяют сильно сократить объем по сравнению с wav. Но все-равно они проигрывают в объеме трекерским файлам.

Таким образом получается следующая картина - для коротких звуков лучше использовать формат wav, который легко воспроизводится средствами IDirectSound. Для более длинных звуков или записей речи нужно использовать mp3 или ogg. И наконец музыку, написанную в трекере можно использовать в своем собственном формате, учтя лишь тот факт, что размеры входящих в мелодию сэмплов должны быть не слишком большими, чтобы общий объем не превышал скажем 4Mb, а то и еще меньше. Иначе дистрибутив игры, особенно распространяемой через сеть, разрастется до непомерных размеров, а это актуально лишь для CD и DVD-версий игры. Игры же распространяемые по сети желательно делать как можно меньшими.

 
На заре создания сайта Мега Информатик автором уже был создан компонент SXModPlayer2 на основе библиотеки MPPSDK.DLL, но по некоторым причинам - качество звука и некоторые ограничения не дают возможности полноценно использовать его в качестве успешного плеера музыки в игровых проектах. Главным образом из-за отсутствия открытого кода по библиотеке mppsdk.dll. Есть правда открытый код ModPlugTracker 1.16, но он написан на C++, знатоком которого автор к сожалению не является.
 
По этим причинам разыскивался аналогичный компонент и им стал FMOD 3.75.
 
Итак, перейдем к рассмотрению работы с библиотекой FMOD 3.75
 

Для начала разберемся как это сделано в примере из дистрибутива http://www.fmod.org/index.php/release/version/fmodapi375win.zip -

допустим мы распаковали содержимое данного архива в папку fmodapi375win\

тогда мы рассмотрим сейчас реализацию примера из папки -

fmodapi375win\samplesdelphi\FMod

 

Здесь находится файл проекта testbed.dpr который без проблем открывается из Delphi 7.

Открываем этот файл из Delphi.

 
В опциях проекта указываем ссылку на папку Search path - ..\..\api\delphi; (Project > Options > Directories\Conditionals)
 
 

Из папки fmodapi375win\api копируем файл fmod.dll в папку fmodapi375win\samplesdelphi

В опциях проекта в поле Output directory укажите ..\ (см. рисунок) для того, чтобы скомпилированный exe-файл попал в папку fmodapi375win\samplesdelphi уже содержащую необходимую ему dll.

 

Нажимаем ОК, выполняем компиляцию.

Если всё сделано верно Вы должны получить следующее сообщение -

 
 
Если Вы уже догадались, как исправить данную ошибку, то сделайте это сами.
 

Если нет, то вот что нужно сделать -

Дело в том, что в данном массиве содержится на 1 меньше элемент, чем описано в его начале. Просто найдите тип TFSoundOutputTypes и обратите внимание какие константы описаны там.

Скопируйте элемент FSOUND_OUTPUT_PSP, вставьте его в массив OutputTypes который давал ошибку, заключив в кавычки и вставив после 'FSOUND_OUTPUT_GC' -

'FSOUND_OUTPUT_PSP',

Сохраните и снова откомпилируйте проект. Теперь результат должен быть ОК.

 
Запустите полученный в папке fmodapi375win\samplesdelphi файл testbed.exe
 
 
Откройте какой-либо трекерский файл (*.it, *.xm, *.s3m или *.mod) нажав кнопку Load. Если под рукой нет ничего подходящего можете скачать примеры треков.
 
Теперь можете нажать кнопку Play и попробовать регулировать громкость, переключаться на последующие паттерны (-/+). Можно щелкнуть по окошку спектрального анализатора - Click for spectrum. Кнопочка Config позволит Вам выбрать другое устройство (драйвер) воспроизведения звука и кое-какие параметры фильтрации.
 
Сравнив звучание одной и той же мелодии например в трекере ModPlugTraker, а затем в данном тестовом приложении приходим к выводу, что оно более чем превосходит все наши ожидания, в чём-то даже звучание превосходит оригинал.
 
Рассмотрим как реализованы вызовы интерфейсов FMOD 3.75 в примере данного приложения.
 

Проект testbed.dpr

Модуль main.pas

В методе создания окна формы - procedure TfrmMain.FormCreate

FMOD_Load(nil); метод загрузки динамической библиотеки - возвращает значение о том, загружена она или нет

Далее следует сравнение версий API в исходных файлах и версии библиотеки dll

{ Check version numbers }
if FMOD_VERSION > FSOUND_GetVersion then
begin
Application.MessageBox(PChar(Format('API version %3.2f is newer than DLL version %3.2f', [FMOD_VERSION, FSOUND_GetVersion])), 'Version mismatch', MB_OK or MB_ICONERROR);
Halt;
end;

Инициализируется FSound. FSound управляет параметрами звуковых буферов, в которые поступают результаты вывода звуковых потоков от FMusic. Т.е. объект FMusic получив it или ogg файл сначала выводит его в отведенный буфер производя микширование (в случае трекерского модуля) или декодирование в случае mp3 или ogg. Полученный в буфере кусочек звука воспроизводится средствами звука Windows или DirectSound - в зависимости от того, какой драйвер (устройство) для вывода звука будет выбрано.

Для начала выбираются настройки по умолчанию -

{ Initialize FSOUND }
try
if not FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND) then
//вывод через IDirectSound
raise Exception.Create('FSOUND_SetOutput failed');
if not FSOUND_SetDriver(0) then
//первое в списке устройство вывода
raise Exception.Create('FSOUND_SetDriver failed');
if not FSOUND_SetMixer(FSOUND_MIXER_QUALITY_AUTODETECT) then
//автоопределяемое качество микширования
raise Exception.Create('FSOUND_SetMixer failed');
if not FSOUND_SetHWND(Handle) then
//устанавливается обработчик окна приложения
raise Exception.Create('FSOUND_SetHWND failed');
except
Application.MessageBox(FMOD_ErrorString(FSOUND_GetError), 'Initialization', MB_OK or MB_ICONHAND);
raise;
end;

Если все прошло гладко, то FSound инициализируется со следующими параметрами - частота дискретизации микширования стерео-сигнала 22050 Гц, количество программных аудио-каналов - 128, флаги - 0

if not FSOUND_Init(22050, 128, 0) then
begin
Application.MessageBox(FMOD_ErrorString(FSOUND_GetError), 'FSOUND_Init', MB_OK or MB_ICONHAND);
Halt;
end;

 

Очищается список воспроизведения - количество файлов не должно превышать 512. К слову сказать, FMOD умеет выводить полифонию, т.е. файлы, содержащиеся в списке могут воспроизводиться одновременно! Это очень удобно, особенно с той точки зрения, когда нужно будет чтобы играла музыка и в то же время персонаж что-нибудь говорил. Это не потребует создания отдельных объектов fmod!

{ Initialize song list to empty }
for Index := 0 to MAX_SONGS - 1 do
begin
FSongs[Index].Module := nil;
FSongs[Index].Stream := nil;
FSongs[Index].Channel := -1;
end;

Номер текущего трека, число треков, состояние CD-плеера - FMOD умеет работать и с CD!!!

FTrackNumber := 0;
FNumTracks := 0;
FCDPaused := False;
FCDPlaying := False;

 

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

FSpectrum := TMiniSpectrum.Create(nil);
FSpectrum.Parent := pnlSpectrum;
FSpectrum.Align := alClient;
FSpectrum.Enabled := False;
FSpectrum.OnClick := pnlSpectrumClick;

 
Оставшиеся строки кода актуальны только для примера testbed.dpr
 
[далее] - продолжаем рассмотрение работы с FMOD 3.75 из проектов Delphi
 
[Назад] [Все уроки] [Далее]
 
     
     
     
2.02.2019

fle game generator - эффекты под музыку и без на движке fle game engine



Вам наверняка хотелось бы помимо базовых возможностей, которые есть
в приложении fle game generator (fgg) иметь и возможность добавить что-то новое,
непохожее на то, что уже есть.

В этом уроке попробуем разобраться как же этого достичь.

Для начала нам понадобится:

fle game engine - набор исходных файлов которые можно скачать
на сайте со страницы -

megainformatic.ru/?page=503
кнопка Скачать.

Если Вы авторизованы, то ввод email для скачивания не потребуется.
Размер дистрибутива 482 Mb.

Также Вам понадобится для работы

Microsoft Visual Studio 2005 (MSVS 2005).

DirectX SDK Aug 2008.

megainformatic.ru/?page=525 - на данной странице найдете ссылку
для скачивания DirectX SDK Aug 2008.



Их также нужно скачать и установить в вашей системе.

Сначала MSVS 2005, затем DirectX SDK Aug 2008.

После того как все это сделано, а
fle game engine также скачан и распакован, можно приступать к дальнейшей
работе.

В первую очередь вам потребуется изучить некоторые основы.
Пройти курс уроков -
megainformatic.ru/?page=516



Ну и самое главное, что нам понадобится - это конечно исходный
код приложения fgg.



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

О настройке проекта я уже писал здесь -
megainformatic.ru/?page=525

и здесь
megainformatic.ru/?page=586



Ссылка для скачивания исходных файлов fgg.



Размер архива 111 Mb.

Представляет самораспаковывающийся архив.

Включает полный исходный код, все необходимые файлы и информационные
материалы, инструкции.

контрольные суммы для проверки целостности скачанного архива.

Можно проверить программой HashTab.

CRC32: 56F472B6
MD5: 09434B7CA42B1F0E57CAC8DDAEDA9F95
SHA-1: 92793C62EE88474C3A87DB68A4AD64609608B25F

О том, как проверить контрольные суммы при помощи
HashTab рассказано тут -
megainformatic.ru/?page=568



Если все установлено и настроено, откроем проект в MSVS 2005 из папки
куда Вы распаковали исходные файлы fgg.

Найдем файл start.h

и в нем изменим строки -
#define MyGameAppName L"fly snow 3d 02.02.2019"
#define MyGameAppName2 "fly snow 3d 02.02.2019"

На текущую дату, которая у вас сейчас
или можно написать любой текст какой вам нравится.

Например так,

#define MyGameAppName L"my fgg"
#define MyGameAppName2 "my fgg"

Выполним сборку приложения -

Build > Clean Solution
Build > Rebuild Solution.

Если в папке

путь_к_папке_исходных_файлов_fgg\fgg\fgg\

например у меня он такой -

C:\fle_game_engine\private\source\bol_l2\fgg\fgg\

нормально создался файл
start.exe

Вы его запустили и приложение нормально работает.

Значит первый шаг сделан.

Можно пробовать применять различные модификации в коде, чтобы создать
такие эффекты, которые нужны именно Вам.

Начнем с самого простого.

В приложении Вы наверное уже видели как летят 3d кубики.

Попробуем вместо кубиков выводить 3d шарики.

Для этого Вам понадобится:

установленная программа 3ds max 2009 или другой версии (которая у вас есть),
а также установленный в ней плагин kwXPort, который позволяет экспортировать
модели из формата 3ds max, в формат .x

В программе 3ds max нужно создать модель 3d шарика,
экспортировать её в формат .x

а затем, в папке

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d

например у меня путь такой -
C:\fle_game_engine\private\source\bol_l2\fgg\fgg\Media\models\snow3d

Вместо уже имеющихся там файлов моделей кубиков, вставить файлы моделей шариков.

Также вам надо учесть масштаб вашего шарика.

Для этого откройте из 3ds max пример модели кубика -

путь_к_папке_исходных_файлов_fgg\fgg\concept\graphics\box\model

у меня путь такой -
C:\fle_game_engine\private\source\bol_l2\fgg\concept\graphics\box\model

И соответственно сделайте ваш шарик по масштабу примерно таких же размеров, как кубик.

Для чего это нужно ? Чтобы размер ваших шариков в игровой сцене
в приложении fgg был примерно таким
же как кубиков. Иначе их визуальное отображение может быть не таким,
как Вы ожидаете или вообще может
получиться так, что Вы их совсем не увидите (если масштаб будет намного
меньше масштабов самой игровой
сцены или наоборот намного больше).

В первом случае шарики могут оказаться слишком малыми, чтобы их увидеть в сцене,
а во втором - камера
как бы будет находиться внутри больших шариков (если они слишком большие) и
опять же - мы ничего не увидим
в сцене.

Так что учитывать масштаб - это очень важно.

Второй момент, который нужно учесть - это правильно разместить шарик в
файле модели, а также
нанести на его поверность текстуру.



Для примера я уже приложил в папке

путь_к_папке_исходных_файлов_fgg\fgg\concept\graphics\box\model\

пример готового шарика -

ball_sample.max

Можете попробовать открыть из 3ds max и посмотреть, что там.

Вы увидите шарик, расположенный в центре осей координат, и там же есть кубик.

Кубик можно теперь удалить из сцены, а модель сначала пересохранить как ball_1.max

А затем конвертируем её в формат .x

File > Export > kW X-Port (*.X)

О том, как экспортировать файлы моделей в формат .X я уже описывал тут -

megainformatic.ru/?page=420

Для просмотра данной статьи на сайте Вам потребуется авторизоваться.

Итак, если модель ball_1.x создана копируем её и файл её текстуры
в папку -

обычно 3ds max создает файлы моделей в такой папке -
C:\Users\имя_пользователя\Documents\3dsmax\export



Значит вам остается взять оттуда файл

ball_1.x

и скопировать в папку -

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d

также чтобы модель нормально отобразилась в игровой сцене приложения fgg Вам нужно сделать следующее:



Открыть модель в любом текстовом редакторе (например Блокнот)
найти строку -

TextureFilename Diffuse

и абсолютный путь к файлу текстуры изменить на относительный например как было у меня:

было -

TextureFilename Diffuse {
 "C:\\fle_game_engine\\private\\source\\bol_l2\\fly_snow_3d\\concept\\graphics\\box\\tex\\box.jpg";
}


надо изменить на


TextureFilename Diffuse {
     "\\Media\\textures\\box.jpg";
    }



Пока для шарика будет использоваться та же текстура, что использовалась для кубика box.X

Да, следует иметь в виду, что файл модели ball_1.x у вас должен быть экспортирован в текстовом формате.
Если же у вас стояли галочки binary или compress, то при экспорте их надо было убрать.

Для этого вернитесь к шагу
О том, как экспортировать файлы моделей в формат .X



Далее -

В приложении fgg у нас сейчас используются кубики.

Нам нужно сделать вместо них шарики.

В текстовом редакторе откроем файл

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d\model_list.txt

было

box.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
box2.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
box3.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
box4.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;

изменим так -

ball_1.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
box2.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
box3.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
box4.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;

Сохраняем файл и пробуем запустить приложение fgg.

Из папки
путь_к_папке_исходных_файлов_fgg\fgg\fgg\

запускаем файл start.exe который Вы скомпилировали из MSVS 2005
на предыдущих шагах. Если еще нет - то вернитесь на этот шаг
и выполните сборку проекта fgg в среде MSVS 2005.

Таким образом, у нас теперь в приложении должно выводиться:

1 вид шариков и 3 вида кубиков, поскольку мы поменяли 1 строку
в файле
путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d\model_list.txt



Если у вас все получилось, то поздравляю !

У меня получилось так -

fle game generator - 1 вид 3d шариков и 3 вида 3d кубиков

По-аналогии теперь можете поменять в 3ds max у шарика текстуры на желтую, зеленую и синюю,
как у кубиков, экспортировать эти шарики как ball_2.x, ball_3.x, ball_4.x и
скопировать в папку -

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d\

Файл

путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d\model_list.txt

изменить так -

ball_1.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
ball_2.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
ball_3.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;
ball_4.X; 0.0f; 0.6f; 0.9f; 1.0f; 1.0f; 1.0f;

Сохраняем изменения.

Запускаем приложение fgg.

путь_к_папке_исходных_файлов_fgg\fgg\fgg\start.exe

Теперь у нас уже будет 4 вида разноцветных 3d шариков в приложении, а кубиков уже не будет.

Вот что получилось у меня -

fle game generator - 4 вида 3d шариков

На самом деле Вы можете это проделать еще проще, и вам уже даже не понадобится 3ds max.

Просто копируем файл
ball_1.X

внутри папки
путь_к_папке_исходных_файлов_fgg\fgg\fgg\Media\models\snow3d\

давая ему имена

ball_2.X
ball_3.X
ball_4.X

И в каждом из указанных файлов меняем строчку -

ball_2.X

TextureFilename Diffuse {
"\\Media\\textures\\box.jpg";
}

на
TextureFilename Diffuse {
"\\Media\\textures\\box2.jpg";
}

ball_3.X

TextureFilename Diffuse {
"\\Media\\textures\\box.jpg";
}

на

TextureFilename Diffuse {
"\\Media\\textures\\box3.jpg";
}

ball_4.X

TextureFilename Diffuse {
"\\Media\\textures\\box.jpg";
}

на

TextureFilename Diffuse {
"\\Media\\textures\\box4.jpg";
}



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

box2.jpg
box3.jpg
box4.jpg

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

Далее - в нашем следующем уроке Мы рассмотрим как реализовать
некоторые чуть-чуть более сложные вещи.

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

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

Весь секрет состоит в умении раскладывать их на простые составляющие.

Итак, давайте начнем.

[далее]

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

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



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


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