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


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

megainformatic - Что нужно для создания собственного сайта ?
        Что нужно для создания собственного сайта ? - Создаем Сайт Своими Р
подробнее...

Теги

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

Статьи сайта

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-запросы

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

Продукты

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

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

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

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

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

     
 

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

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

 
     
 

Продолжаем цикл статей на тему программирования игр.

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

 
     
 

Вам потребуется:

- среда разработки Microsoft Visual Studio 2005 или выше;

- DirectX SDK Aug 2008 или выше;

- хотя бы минимальные знания английского языка, а еще лучше запастить программой словарем-переводчиком для англо-русского/русско-английского перевода - X-translator, Lingvo или что-то еще.

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

Сначала нужно установить MSVS (Microsoft Visual Studio), затем DirectX SDK.

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

 
     
  Несколько уроков на тему создания игр  
     
 

Сегодня наша цель:

- познакомиться с основами работы в среде MSVS;

- создать первое простейшее игровое приложение;

- попробовать модифицировать его для проверки и отладки;

 
     
 

Запускаем MSVS

Выбираем пункт меню File > Open > Project Solution

Находим папку с примерами из DirectX SDK -

C:\DXSDK_Aug2008\Samples

На Вашем компьютере этот путь может быть другим, если Вы при установке DirectX SDK задали другой диск и другую папку, так что вначале уточните, куда Вы установили DX SDK !

 
     
 

А мы откроем самый первый пример -

C:\DXSDK_Aug2008\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevice

 
     
  И попробуем его изучить  
     
  После открытия этого проекта в окне Solution Explorer дважды щелкаем файл CreateDevice.cpp, чтобы воочию увидеть этот магический cpp код.  
     
  Найдите функцию wWinMain  
     
  находим функцию wWinMain  
     
  можете щелкнуть данное изображение, чтобы увидеть его в полномасштабном варианте, затем вернитесь на данную страницу  
     
  Рассмотрим этот код по-порядку  
     
  INT WINAPI wWinMain( HINSTANCE hInst, HINSTANCE, LPWSTR, INT )
{
// Register the window class
WNDCLASSEX wc =
{
sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L,
GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
L"D3D Tutorial", NULL
};
RegisterClassEx( &wc );

// Create the application's window
HWND hWnd = CreateWindow( L"D3D Tutorial", L"D3D Tutorial 01: CreateDevice",
WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,
NULL, NULL, wc.hInstance, NULL );

// Initialize Direct3D
if( SUCCEEDED( InitD3D( hWnd ) ) )
{
// Show the window
ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );

// Enter the message loop
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}

UnregisterClass( L"D3D Tutorial", wc.hInstance );
return 0;
}

 
     
 

Данная функция wWinMain - является стартовой функцией работы любого игрового приложения, судя по названию Win - сокращение от Windows и Main - главная.

Префикс w означает, что данная функция использует строковые параметры вида WideChar, т. е. двубайтовые строки.

 
     
  Когда Вы будете запускать данное приложение операционная система в первую очередь передаст управление этой функции - wWinMain.  
     
  Я думал писать игры сложно, можете сказать Вы, а оказывается всё начинается с какой-то маленькой функции wWinMain.  
     
  Могу ответить Вам одно - всё в этом мире начинается с малого, мой друг !  
     
 

Что же происходит внутри этой функции ?

// Register the window class - регистрируем класс окна приложения
WNDCLASSEX wc =
{
sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L,
GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
L"D3D Tutorial", NULL
};
RegisterClassEx( &wc );

 
     
 

Вы наверное уже догадались, что строки начинающиеся с символа двойной наклонной черты

//

представляют из себя комментарии и исполнимым кодом не являются.

Всё остальное представляет действительно исполнимый код, который в процессе компиляции превращается в исполнимый машинный код, доступный для обработки центральным процессором CPU Вашего и любого другого ПК.

 
     
 

Мы создаем переменную wc с типом WNDCLASSEX и заносим в неё значения

Данная запись краткая, чтобы Вам было более ясно что здесь происходит приведу более описательный аналог этого кода -

 

 
     
 

WNDCLASSEX wc;


SecureZeroMemory(&wc, sizeof(wc));


wc.cbSize = sizeof( WNDCLASSEX );
wc.style = CS_CLASSDC;
wc.lpfnWndProc = MsgProc;
wc.cbClsExtra = 0L;
wc.cbWndExtra = 0L;
wc.hInstance = GetModuleHandle( NULL );
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
wc.lpszClassName = L"D3D Tutorial";
wc.lpszMenuName = NULL;

 
     
 

Объявляем переменную wc с типом WNDCLASSEX

SecureZeroMemory - очищаем все поля данной переменной значением ноль.

Далее присваиваем каждому полю данной записи соответствующее значение -

размер записи - получаем при помощи функции sizeof

стиль

оконная процедура MsgProc

Обработчик экземпляра приложения wc.hInstance получаем при помощи функции GetModuleHandle

wc.lpszClassName = L"D3D Tutorial"; - задаем имя класса приложения.

Все остальные поля выставляются либо в 0, либо в NULL.

 
     
  0 в случае числовых полей, NULL - в случае полей-указателей.  
     
  RegisterClassEx - выполняем регистрацию класса с указанными параметрами в системе.  
     
  CreateWindow - создаем окно приложения  
     
 

if( SUCCEEDED( InitD3D( hWnd ) ) ) - инициализируем приложение и если всё прошло без ошибок -

ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );
- показываем окно на экране, выполняем его перерисовку.

 
     
 

// Enter the message loop
MSG msg;
while( GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}

запускаем бесконечный цикл приема и обработки сообщений системы,

в случае если функция GetMessage вернет FALSE цикл будет остановлен и выполнена строка следующая за строкой цикла -

UnregisterClass( L"D3D Tutorial", wc.hInstance );
return 0;
- выполняется освобождение класса приложения в системе, выполняется возврат из функции со значением кода возврата равным 0

 
     
  [далее]  
     
     
     
 

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



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


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