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


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

megainformatic - обзор антивирусных средств защиты
Обзор антивирусных средств защиты Антивирус или антивирусная программа - это программа, которая защищает Ваш компьютер от нежелательных или даже опасных программ - компьютерных вирусов. Существуют самые различные антивирусы - бесплатные, платные, требующие установки или не требующие её, осуществляющие проверку файлов по требованию или самостоятельно. Каки
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Рисуем шарик / How make the game - series of lessons - draw ball

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Содержание / How make the game - series of lessons - Index

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Разные шарики / How make the game - series of lessons - Different balls

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Анимация прыжков шарика / How make the game - series of lessons - Animation ball jumps

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Создание фона заднего плана / How make the game - series of lessons - Creating background for back plane

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Вставка созданной графики, звуков и музыки в игру - Inserting created graphics, sounds and music in the game.

Balls on Lift / Шарики на лифте + Как создать игру - бесплатная игра + комплект уроков о том, как создавать контент для игры - спрайты, фоны, звуки, музыку, и вставить его в игру - How to create a game - free game + package of lessons on how to create content for the game - sprites, backgrounds, sounds, music, and insert it into the game

Balls on Lift / Шарики на лифте + Как создать игру - бесплатная игра + комплект уроков о том, как создавать контент для игры - спрайты, фоны, звуки, музыку, и вставить его в игру - How to create a game - free game + package of lessons on how to create content for the game - sprites, backgrounds, sounds, music, and insert it into the game

Развитие проекта fle game engine

Бинарная философия / Binary Philosofy

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 14

Вакансии

Коллекция php скриптов

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 15

megainformatic - Приключения Кости Коробкина - В гостях у тёти Светы часть 1 - интерактивный комикс

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

fle game generator - fle генератор игр - fly snow 3d падающий снег - расширяемый генератор визуальных образов, с музыкой mp3, ogg и генерацией игр

fle game generator - fle генератор игр - fly snow 3d падающий снег - расширяемый генератор визуальных образов, с музыкой mp3, ogg и генерацией игр

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 16

megainformatic Создание и размещение видео баннера mp4

megainformatic Использование баннер-ротатора

megainformatic fle game engine Simple game / Пример простой игры

megainformatic fle game engine Simple game / Пример простой игры - страница 1 - Спрайты

Creating game on fle game engine - Draw Line - This can be helpful/ Создание игры на fle game engine - Рисование линий - Это может пригодиться.

Платная подписка на fle game engine

megainformatic Создание игры на fle game engine - Simple game - страница 2 - Объекты / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 3 - Объекты / Пример простой игры

Платная подписка на fle game engine

megainformatic Создание игры на fle game engine - Simple game - страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 5 - Отображаем прыгающий шарик, узнаем как задается для спрайта его центр и знакомимся с векторной системой координат / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 6 - Загрузка игровой сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 7 - Перемещения игровой сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 10 - Проверка столкновений / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game - страница 11 - Игровой счёт, звуки, музыка / Пример простой игры

megainformatic Создание игры на fle game engine - Simple game extended - страница 1 - Создание новой сцены (уровня, комнаты), добавление новых возможностей / Пример простой игры - расширенная версия

Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017

Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017

Советы копирайтеру - как не обмануть и не быть обманутым

Balls and Holes игра скачать + как создать игру на fle game engine

Balls and Holes игра скачать + как создать игру на fle game engine

Something: Unexplained 2 captive of desires

KKK Коллекционное издание: Веселый Буквоежка Комикс + Костя Коробкин Комикс + Нечто: Необъяснимое в плену желаний 2 начало

KKK Коллекционное издание: Веселый Буквоежка Комикс + Костя Коробкин Комикс + Нечто: Необъяснимое в плену желаний 2 начало

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 17

megainformatic - Игродельня

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

megainformatic - С днём защитника отечества !

megainformatic fle game engine fle / Пример простой игры fle - Скроллинг больших локаций

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 18

megainformatic - Шарики и Ямки игра PC

megainformatic - Шарики и Ямки игра PC

megainformatic fle game engine fle / Изучаем основы c++ - переменные на примере реального игрового проекта Balls and Holes

megainformatic - Реферальная ссылка

megainformatic - Изменение постоянных свойств в зависимости от контекста

подробнее

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

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

В предыдущей статье - Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE я упомянул две особенности, которые можно считать базовыми при создании любых страниц любых сайтов.

Теперь пришла пора перейти к более сложным примерам.

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

Вы узнаете где описываются и как подключаются стили css, а также скрипты javascript.

Вообще говоря стили css и скрипты на javascript можно включать в любой части страницы сайта, но более правильно и удобно это делать внутри заголовка - после тега <head> но до закрывающего тега </head>

Приведу пример -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Моя первая страница</title>
<link rel="stylesheet" href="./css/style.css" type="text/css" >
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

Ура !!! Работает !!!<br><br>
</body>

</html>

Таким образом если вышеприведенный код размещен в файле index.html расположенном в корневой директории вашего сайта, то файл стилей style.css должен находиться в папке css внутри этой же корневой директории (папки).

Причём если Вы укажете путь к файлу style.css именно как ./css/style.css, то файл будет корректно подключен и найден как при открытии страницы index.html путём обращения по адресу сайта, так и при простом обращении к файлу index.html при открытии его из браузера.

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

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

Обычно все пути лучше указывать относительно корневой папки сайта, в которой размещен index.php (или index.html - как в нашем примере).

В дальнейших наших статьях мы будем работать именно с файлами php. Отличие от index.html будет незначительное с точки зрения синтаксиса, но огромное с точки зрения возможностей.

Забегая немного вперед приведу сразу пример - index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Моя первая страница</title>
<link rel="stylesheet" href="css/style.css" type="text/css" >
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

Ура !!! Работает !!!<br><br>
<?php

//тут может размещаться php-код

?>

</body>

</html>

Существенных отличий всего 3:

1) Изменилось расширение файла - вместо .html стало .php;
2) Внутри файла добавились новые теги - <?php и ?>
3) php - файл должен выполняться на хостинге с поддержкой php или на локальном сервере (например в пакете DENVER)

Обратите внимание также, как я указал путь -
<link rel="stylesheet" href="css/style.css" type="text/css" >
Т. е. путь задан относительный, относительно файла index.php что является более надежным с точки зрения размещения вашего сайта.

Если сайт будет размещен в подпапке - то ошибок с отображением style.css не будет, а вот если мы укажем абсолютный путь - как в примере выше - тогда сайт (а в данном примере файл index.php) должен обязательно находиться в отдельной корневой папке являющейся доменом или субдоменом.

В противном случае и могут возникать те самые ошибки с подключением стилей css.

При подключении скриптов javascript действуют аналогичные правила - всегда используйте относительный путь !!!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Моя первая страница</title>
<link rel="stylesheet" href="css/style.css" type="text/css" >
<script src="js/my_script.js" type="text/javascript"></script >
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

Ура !!! Работает !!!<br><br>
<?php

//тут может размещаться php-код

?>

</body>

</html>

далее

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

подробнее

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

Как создать игру ? - Программируем сами.

Рассмотрение программирования игр под DirectX 9c на C++ с использованием среды разработки MSVS 2005 или выше.

 
     
  [содержание] [назад] [страница 1] [далее]  
     
  Введение в 2d-игры - страница 1  
     
 

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

Займемся мы созданием 2d игры на реальном примере игры - Веселый Буквоежка. Мы не только изучим теорию, но и увидим работающий код из работающей игры, а все желающие могут получить весь исходный код этой игры для работы над собственным игровым проектом.

О том как получить исходный код будет рассказано далее.

 
     
  Запускаем MSVS 2005 или выше - то, что у Вас есть под рукой.  
     
  Выбираем последовательно пункты меню File > New > Project  
     
  В открывшемся окне  
     
  создаем проект win32  
     
 

Выбираем пункты - в окошке Project Types:

Visual C++ > Win32,

в окошке Templates:

Win32 Project

 
     
 

Поля Name, Location, Solution Name заполняем именем проекта, указываем где сохранить проект нажав кнопку Browse...

и нажимаем OK

 
     
  описываем имя и расположение будущего проекта  
     
  Ждём некоторое время и вот - Среда разработки MSVS создает для нас шаблон проекта Win32 с именем Fle, искать его нужно в той папке, куда Вы указали его сохранить - проект будет окончательно создан в указанной папке после выполнения еще двух дополнительных шагов -  
     
 

Теперь в открывшемся новом Мастере Настроек проекта нужно задать некоторые опции -

В этом окошке Просто написано, что текущие настройки проекта выполнены для обычного Windows - приложения и нужно нажать кнопку Finish чтобы закрыть окно мастера, либо нажать кнопку Next чтобы увидеть еще некоторые опции

 
     
  окно мастера настроек проекта  
     
  Если хотите увидеть эти дополнительные опции - нажимайте Next  
     
  Менять ничего не нужно, просто нажмите Finish  
     
  Проект создан. Можете убедиться в этом сами - откройте указанную папку и увидите там множество созданных специальных файлов. В большинстве своем это обычные текстовые файлы, которые можно редактировать не только в Среде разработки MSVS, но и любым текстовым редактором, однако не всегда это следует делать, лучше всего делать это непосредственно в самой среде MSVS.  
     
 

Чем же так страшна эта MSVS и что же там такого в ней непонятного ? Об этом мы сейчас и поговорим.

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

 
     
 

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

Можно попробовать выполнить сборку проекта - Build > Build Fle, где Fle имя Вашего проекта, а затем попробовать запустить его на выполнение - прямо из среды MSVS - нажав кнопку Start Debugging на панели инструментов, либо выбрав пункт меню Debug > Start Debugging, либо перейдя в папку созданного проекта, в подпапку Debug - двойным щелчком на созданном файле с именем проекта и расширением EXE.

 
     
  кнопка Start Debugging на панели инструментов  
     
 

Созданное приложение основано на шаблоне Win32 и предназначено для обращения к функциям операционной системы посредством WinAPI.

Однако в реальных игровых приложениях Вам могут понадобиться классы MFC - Microsoft Foundation Classes. В частности, в примере нашей игры ВЕСЕЛЫЙ БУКВОЕЖКА широко будут применяться такие классы как CPtrArray, CWinApp и некоторые другие.

Для того, чтобы использовать MFC совместно с DirectX нужно совсем немного.

Попробуем сделать такое приложение. Закрываем созданный проект - File > Close Solution, если программа спрашивает о сохранении изменений - нажимаем Yes - иначе изменения в проекте не будут сохранены !!!

 
     
 

Делаем всё то же самое, что Вы делали до этого -

File > New > Project

Но далее уже выбираем MFC > MFC Application

 
     
  создание MFC приложения  
     
 

В появившемся окне Мастера настроек MFC - приложения нужно задать следующие опции -

в первом окне просто нажать кнопку Next

 
     
  во втором окне -  
     
  настройки проекта MFC  
     
 

Мы выбрали Dialog Based, потому что наше приложение, да и вообще все игровые приложения должны быть основаны на диалоговых окнах;

Use MFC in a static library - чтобы используемые библиотеки подключались к исполнимому файлу статично - без использования дополнительных DLL;

Resource language: Английский (США) - т. к. других вариантов не наблюдается;

Use Unicode libraries - для использования текстовых строк в формате Unicode

 
     
  В следующем окне уберите все флажки кроме Minimize box и System menu  
     
  В следующем окне уберите все флажки кроме Common Control Manifest  
     
  В последнем окне измените названия создаваемых классов или оставьте как есть  
     
  Ждём некоторое время и вуаля - шаблон приложения создан. Аналогично можно попробовать его собрать и запустить на выполнение - клавиша [F7] - сборка, [F5] - запуск на выполнение.  
     
  Как видим приложение работает достаточно просто - появляется соответствующее окно содержащее кнопки ОК и Cancel.  
     
  Изменив используемый шаблон окна диалога можно убрать всё лишнее и оставить только само окно, кроме того, желательно изменить стандартную иконку MFC приложения на Вашу собственную. О том как создавать иконку для приложения Мы уже рассматривали в уроке Изучаем и модифицируем пример CreateDevice - страница 3  
     
  Современные игры, например от таких издателей как Nevosoft и Alawar содержат специальную игровую оболочку, содержащую кнопки Старт, Купить, Другие игры и что-то еще в этом роде. В следующем уроке мы рассмотрим как быстро и просто реализовать свою собственную оболочку для игры ВЕСЕЛЫЙ БУКВОЕЖКА. Она будет выглядеть примерно так -  
     
  игровая оболочка  
     
     
     
     
  [содержание] [назад] [страница 1] [далее]  
     
подробнее

Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 1

Предлагаем вашему вниманию онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as).

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

Костя Коробкин - В гостях у тёти Светы (- интерактивный комикс (kk as) - онлайн комикс - страница 1

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

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

подробнее

Game craft - отображение scv модели в формате x в d3d9-приложении

[все уроки game craft]  [моделируем scv]  [моделируем scv шаг 1 часть 2] [моделируем scv шаг 2 часть 3] [Прорисовка текстуры робота SCV шаг 5]  [экспорт робота scv в формат x] 

В предыдущих уроках мы рассмотрели как моделируется, текстурируется и экспортируется модель. Теперь покажем как выводить данную модель в d3d9-приложении.

Модель робота scv в d3d9 - приложении

Вы можете скачать самораспаковывающийся архив, содержащий весь необходимый исходный код

Для нормальной сборки вам также потребуется среда разработки MSVS 2005 и DirectX SDK August 2008.

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

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

Выполнение приложения начинается с вызова метода CD3DAppTemplateApp::CD3DAppTemplateApp()

Далее следует остановиться на вызове метода BOOL CD3DAppTemplateApp::InitInstance(), т. к. внутри него создается и скрывается главное окно приложения -

pMainWindow = new CD3DAppTemplateDlg();
pMainWindow->Create(CD3DAppTemplateDlg::IDD);
pMainWindow->ShowWindow(SW_SHOW);
pMainWindow->ShowWindow(SW_HIDE);

Это делается для того, чтобы внутри процедуры InitialD3DAppSettings новое окно, создаваемое и используемое для целей вывода 3D сцены не перекрывалось с основным и не возникало путаницы. Просто создается иллюзия, что окно 3D сцены и есть основное.

void InitialD3DAppSettings()

//...

DXUTCreateWindow( L"D3D9 App Template", 0, 0, 0);

//...

В этой связи возникает вопрос: А почему окно pMainWindow нельзя использовать для вывода 3D сцены ?

Ответ звучит так: окно pMainWindow - это базовое окно MFC приложения, с которым связаны некоторые ресурсы, но для целей вывода 3D сцены оно не пригодно, т. к. DirectX API предполагает для этого только вновь созданное, отдельное окно. В противном случае обеспечить работу D3D в этом окне не представляется возможным. Поэтому именно такой способ и используется в нашем приложении d3d9_skin_mesh

Нетрудно догадаться, что основная работа по подготовке d3d-приложения к работе описана внутри процедуры InitialD3DAppSettings, а собственно цикл работы приложения описан в DXUTMainLoop и заключается в поочередном вызове сначала процедуры void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext ), а после неё - void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ).

У Вас может возникнуть вопрос: Как реализуется обработка управления от клавиатуры и мыши ?

В данном приложении она реализована обычными средствами Windows - через функцию MsgProc - но это будет более медленный способ. В реальном игровом приложении это реализуется посредством вызова специальной функции где-то в самом начале процедуры OnFrameMove. Например в игре Веселый Буквоежка для этой цели используется процедура UpdateInput - внутри которой проверяется какие клавиши или действия мышью были использованы пользователем и в ответ на это вызываются соответствующие процедуры, функции или методы которые привязаны к конкретной клавише или действию мышью. Подробнее об этом можно узнать получив полный исходный код движка Fle, на котором написана игра Веселый Буквоежка. Также будут не бесполезны иструменты разработки на движке Fle - SceneEditor, описание механизма сборки локаций и утилита Coords2D.

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

Итак, двинемся по коду d3d9_skin_mesh дальше. После того как все предварительные действия в приложении осуществлены - это как я уже говорил, описано внутри процедуры InitialD3DAppSettings, вызываются поочередно процедуры void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext ) и void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ). Внутри них и надо искать ответ на вопросы - как собственно работает d3d-приложение и каким образом это реализовано ?

Очень полезное умение, которое Вам несомненно пригодится - умение задавать себе вопросы и находить на них ответы в коде. Внутри OnFrameMove Вы увидите, как запоминается предыдущее значение таймера в переменной g_fLastAnimTime, там же есть метод вызова камеры (но она пока не используется), а также методы, которые используются для управления обзором игровой сцены вместо камеры - через g_ArcBall.

В процедуре OnFrameRender формируется изображение игровой сцены - сначала выводятся элементы управления g_SettingsDlg, затем очищается backbuffer (невидимый экран, который как только будет подготовлен будет выведен на экран реальный - чтобы изображение не мерцало отображая как на нём рисуются элементы), задаются параметры для источника света и собственно происходит модель робота SCV - DrawFrame.

Резонные вопросы, которые возникают - где, как и каким образом загружается модель и как она затем отрисовывается ? Нужно добавить, что в приложении d3d9_skin_mesh, которое базируется на коде примера SkinnedMesh из DirectX SDK Aug 2008, реализовано отображение не только статичных, но и анимированных моделей. Так что если загрузить модель, в которой есть скелетная анимация - то модель будет выводиться в движении - циклично воспроизводя имеющуюся в ней анимационную цепочку.

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

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

Оставшийся код, Вы можете рассмотреть самостоятельно и лучше это делать путём написания нового приложения, которое бы выполняло определенные задачи. Например не только загружало анимированную модель, но и по нажатию клавиш или кликам мышью, заставляло бы перемещатьтся 3D-модель в игровом пространстве. В последующих наших уроках мы именно этим и займёмся: будем рассматривать поэтапно каждую задачу, возникающую в типичном игровом проекте - на примере нашей игры Game Craft, а также будем моделировать все необходимые для этого модели и делать другие сопутствующие вещи (текстуры, описания, звуки, музыку и др.)

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

- работа с 3d-камерой;
- перемещение модели в пространстве;
- реализация управления игрой от клавиатуры и мыши;
- создание игровых панелей и реализация простейших операций по управлению игрой через игровую панель;
- создание рельефа земной поверхности и его текстурирование;
- вывод рельефа в игре и перемещение по нему моделей;
- модели игровых ресурсов: минералы, гейзер веспен-газа;
- не-интерактивные игровые объекты, формирующие окружающую среду: деревья, кусты, камни и прочее.
- постройка нового коммандного центра в игре рабочим scv;
- добыча ресурсов рабочими роботами scv;
- создание фоновой музыки и сопутствующих игровых звуков;
- создание редактора игровой сцены;

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

В следующем уроке мы займёмся изучением управления игрой от Direct Input и работой с 3d-камерой в d3d9-приложении работа с 3d-камерой в d3d9-приложении

[все уроки game craft]  [моделируем scv]  [Моделируем робота SCV шаг 1 часть 2]  [Моделируем робота SCV шаг 2 часть 3]  [Прорисовка текстуры робота SCV шаг 5]  [экспорт робота scv в формат x] 

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

5. Отображаем прыгающий шарик, узнаем как задается для спрайта его центр и знакомимся с векторной системой координат



read paper in english

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





Содержание

страница 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. Мульти анимация







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

Для тех, кто так и не понял в чём была проблема, поясняю.

simple_game\Media\textures\simple_game\tex_list.txt



ball\jump.tga; -0.7f; 0.1f; 0.909f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Чтобы шарик выводился значение z = 0.909f надо изменить на такое, чтобы шарик стал виден. Например, z = 0.8999f

При больших значениях шарик оказывается выводимым "за фоном". Поэтому-то его и не видно. Фон имеющий координату z = 0.9f, по сравнению с шариком имеющим координату z = 0.909f, оказывается ближе к наблюдателю (значения z меньшие - ближе к наблюдателю, большие - дальше от наблюдателя), и просто перекрывает его.

Если Вы внимательно посмотрите на код, который вставляли по инструкции на странице 4, то наверное догадаетесь, что методы

4)
g_Splash.Anim(); //это то, что вы нашли
g_AI_Ball_Sprite.Anim(); //это то, что вы должны добавить


5)
g_Splash.Draw(); //это то, что вы нашли
g_AI_Ball_Sprite.Draw(); //это то, что вы должны добавить


Анимируют и отрисовывают наш шарик.

Попробуйте закомментировать один из них - g_AI_Ball_Sprite.Draw() или g_AI_Ball_Sprite.Anim() и перекомпилируйте приложение.

//g_AI_Ball_Sprite.Anim(); //если закомментируем эту строчку - шарик перестанет анимироваться, т. е. не будет прыгать


Выводим шарик

Если же закомментируем g_AI_Ball_Sprite.Draw()

//g_AI_Ball_Sprite.Draw(); //если закомментируем эту строчку - шарик перестанет быть виден вообще.


Теперь давайте ознакомимся с особенностями вывода спрайтов в играх.
Откройте файл
simple_game\Media\textures\simple_game\tex_list.txt



И посмотрите на параметры нашего шарика -

ball\jump.tga; -0.7f; 0.1f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Если Вы читали readme.txt приложенный к утилите Coords2D, которая позволяет настраивать параметры спрайтов и их анимаций, то знаете, что означает каждый из параметров.

Начнём по-порядку.

name x y z xScale yScale Width Height xOffset yOffset FramesPerLine FramesNum AnimDelay;
ball\jump.tga; -0.7f; 0.1f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;


name - означает имя файла загружаемого спрайта;

x, y, z - координаты его вывода на экран. Причём x и y могут быть векторными - значения которых не зависят от текущего разрешения экрана и могут быть экранными заданными в пикселях - зависящими от разрешения экрана.

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

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

xScale, yScale - масштаб выводимого спрайта по x и y - значение 1.0f - выводить спрайт в натуральном размере. Значения меньшие 1.0f - уменьшать спрайт, значения большие - увеличивать.

Width, Height - ширина и высота спрайта в пикселях.

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

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

FramesPerLine - число кадров в одной линии по оси X, для оси Y это не применяется;

FramesNum - число кадров в анимации спрайта;

AnimDelay - задержка по времени между показом кадров спрайта в долях секунды. Определяет, таким образом, скорость показа анимации.





Если всё понятно - перейдем к экспериментам.

Для начала попробуем вывести наш шарик в центре экрана.

Для этого всего лишь нужно снова открыть файл

simple_game\Media\textures\simple_game\tex_list.txt



И задать x = 0.0f, y = 0.0f -

ball\jump.tga; 0.0f; 0.0f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Сохранить изменения и перезапустить приложение simple_game, если оно у Вас было запущено.

Шарик будет выведен почти в центре экрана, но немного ниже его.

Шарик в центре экрана

Ниже, потому что, если Вы помните, анимация нашего шарика выглядит так -

прыгающий шарик

прыгающий шарик

Поэтому позиционируя спрайт в центр экрана, мы получим небольшое смещение вниз - потому что внутри самого спрайта шарик смещен вниз. Иными словами центр спрайта - это его левый верхний угол, а не центр шарика.

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

Так, чтобы наш шарик оказался точно в центре экрана, в коде его вывода в модуле

simple_game\scripts\game_sprite\game_sprite.cpp

Нужно найти строку кода

CGameSprite::Draw

и имеющийся там код -

SpriteSprite->m_v2Vector2ScreenPos.x = SpriteSprite->m_Position.x;
SpriteSprite->m_v2Vector2ScreenPos.y = SpriteSprite->m_Position.y;


изменить на

SpriteSprite->m_v2Vector2ScreenPos.x = SpriteSprite->m_Position.x - 0.05f;
SpriteSprite->m_v2Vector2ScreenPos.y = SpriteSprite->m_Position.y + 0.2f;


сохранить изменения, перекомпилировать ваше приложение и запустить его снова.

Шарик в центре экрана

Теперь шарик окажется еще точнее к центру. Можете поэкспериментировать со значениями смещений, чтобы отцентрировать шарик еще точнее.





Итак, Вы узнали, что такое векторная система координат.

Можете попробовать теперь в файле

simple_game\Media\textures\simple_game\tex_list.txt



Менять первые 2 значения для x и y на значения в диапазоне от -1.0f до 1.0f, сохранять изменения в файле и перезапускать приложение simple_game

ball\jump.tga; 0.5f; 0.5f; 0.8999f; 0.5f; 0.5f; 64; 128; 0; 0; 4; 8.0f; 14.0f;

Векторная координатная система

Центр экрана это точка с координатами x = 0.0f, y = 0.0f

Верхний край экрана это y = 1.0f, нижний - y = -1.0f.

Для x левый край экрана это x = -1.0f, а правый x = 1.0f

Поэкспериментируйте с изменением координат в файле

simple_game\Media\textures\simple_game\tex_list.txt



чтобы лучше уяснить себе этот важный момент.

В показаном ниже видео продемонстрированы 4 варианта отображения шарика в одной из 4 четвертей координатных осей.



для x, y = 0.5f, 0.5f - справа вверху, -0.5f, -0.5f - слева внизу,
0.5f, -0.5f - справа внизу, -0.5f, 0.5f - слева вверху.

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



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

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



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


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