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


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

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

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки 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 Автоматизация Обработки Уведомлений о Заказах по партнерским программам

подробнее

выпуск 67 Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний







Подробнее

Скачать игру Шар Бумага Карандаш / Pencil Paper and the Ball PC game + Something: Unexplained 2 captive of desires версия 02.06.2017



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

Windows XP / 7 / 8 / 10
directx 9c
~ 650 Mb свободного места на носителе информации.

Размер самораспаковывающегося архива: 449 Mb

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

CRC32: 4FA6DC82
MD5: B7F70552AC571C88B2365D540650F657
SHA-1: 1B32D5691641CA05F5257203B3BF53F99A8A210A

Подробнее о игре Шар Бумага Карандаш / Pencil Paper and the Ball PC game

сделано на fle game engine





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

Вышла новая версия игры Нечто: Необъяснимое в плену желаний - полное название игры - Нечто: Необъяснимое нить накала - в плену желаний - версия 1.01 june 2016
 
     
  доступна свежая версия - 1.01 june 2016

Распространяется бесплатно.

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

дата выхода: 8.05.2009 (версия 1.00)
 
     
  Вы также можете дополнительно получить набор материалов по созданию новых уровней игры. Для этого вам нужно приобрести продукт - Набор разработчика игр. Вы сами сможете создать новые мини-игры и Вам не потребуется писать ни единой строчки кода!  
     
 
Нечто: Необъяснимое Нить Накала
Нечто: Необъяснимое Нить Накала
 
 
Нечто: Необъяснимое Нить Накала
Нечто: Необъяснимое Нить Накала
 
     
 
[downloads:7]
 
     
 

Геникс сел за компьютер и... Попал словно в другое измерение. Ему предстоит встретиться с 12 девушками и собрать отдельные части истории воедино. Игра разбита на 12 мини-игр, в каждой из которых Вы встречаете одну из девушек, с определенным характером и в определенной ситуации, а она открывает Вам очередную часть загадочной истории. Цель игры: угадать все желания девушки. Если это произойдет, то Вы узнаете новую часть истории и достигните желаемого. Всего Вам встетится два типа мини-игр.

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

Мини-игра тип 2. Вы играете в угадывание телесных желаний. Она загадывает места на своем теле, в которые Вы должны попасть. Если попадаете правильно, индикатор желаний прибавляется, нет - убывает. Нужно угадать 100% желаний. Призом Вам послужит очередная деталь одежды.

Особенности игры:

- изменение масштаба, перемещение по увеличенной сцене;

- графика в стиле фото-симбиоз;

- ненавязчивый и спокойный игровой процесс в котором Вы плавно двигаетесь к цели;

- оригинальный саунд-трек;

- отдельные части загадочной истории Чентиза и Рукера постепенно проясняются.

 
     
 
Нечто: Необъяснимое Нить Накала
Нечто: Необъяснимое Нить Накала
 
     
 
Нечто: Необъяснимое Нить Накала
Нечто: Необъяснимое Нить Накала
 
     
 
Нечто: Необъяснимое Нить Накала
Нечто: Необъяснимое Нить Накала
 
     
 
Нечто: Необъяснимое Нить Накала
Нечто: Необъяснимое Нить Накала
 
     
 
[downloads:7]
 
     
  минимальные системные требования: Windows 98SE/2000/XP SP2/Celeron 997/256 Mb RAM/64 Mb Video/DirectX-sound card/108 Mb HDD/клавиатура, мышь.  
     
 

Перенесемся в Главу 7. После того, как Стас попал в тело Ани, прошло значительное время. Неуловимый некто, похитивший его тело исчез бесследно. Однако Стас начал действовать по-своему. Используя преимущества нового тела он занялся карьерой в шоу- и модельном бизнесе, и добился некоторых успехов, но главным успехом была его встреча с таинственным меценатом по имени Нехомето. Странный сон и череда событий предшествовавших этой встрече подсказали Стасу как нужно действовать. Итак, Нехомето почти в руках, нужно лишь выполнить задуманное и тогда Стас снова вернет своё тело.

Итак, скоро, в Главе 7 "Игра соблазна" Вас ждет:

- 2d квест в интерьерах апартаментов Холиона;

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

- Стас в теле Ани должен противостоять планам Холиона самым головокружительным способом;

- возможность создания продолжения игры;

- и многое другое.

 
     
     
     
     
подробнее

Game craft - управление игрой от Direct Input в d3d9 - приложении

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

Чтобы можно было выполнять какие-то действия и приложение мнгновенно реагировало на них, в игре должно быть управление посредством Direct Input.

Порядок выполнения функций приложения

g_d3dApp - объект приложения - создается автоматически т. к. в

D3DAppTemplate.h

//объявлен как

__declspec(selectany) CD3DGameApp g_d3dApp;

D3DAppTemplate.cpp

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

CD3DGameApp::CD3DGameApp()

//деструктор отсутствует

~CD3DGameApp

//в методе

BOOL CD3DAppTemplateApp::InitInstance()

//вызывается процедура InitialD3DAppSettings - в которой создаются все начальные настройки

InitialD3DAppSettings > InitApp //задается вывод элементов управления D3D9 GUI, начальные настройки камеры и путь как папке приложения

//какой метод CD3DGameApp вызывается самым первым после всех описанных ?

OnGUIEvent

//если в экране настроек была нажата кнопка Подтверждения и объект меню находился в состоянии выбора опций меню -

//выставляем объекту меню статус показа экрана главного меню

case IDC_ACCEPT: {
if ( &g_d3dApp )
{
if ( g_d3dApp.m_pGameMenu )
{
if ( g_d3dApp.m_pGameMenu->m_dwState == GAMEMENU_OPTIONS )
{
SetOptionsVisible(false);
g_d3dApp.m_pGameMenu->AcceptOptionChanges();
g_d3dApp.m_pGameMenu->m_dwState = GAMEMENU_MAIN;
}
}
}
break;
}

//в функции OnD3D9CreateDevice выставляется

g_d3dApp.m_hWndMain = DXUTGetHWND(); //ссылка на обработчик окна приложения

// Initialize the DirectInput stuff - создаются объекты DirectInput

hr = g_d3dApp.CreateInputObjects();

//и далее аналогично если искать по коду подстроку g_d3dApp найдём -

OnD3D9ResetDevice

g_d3dApp.m_dwScreenWidth = pBackBufferSurfaceDesc->Width; //задаются размеры рабочей области экрана
g_d3dApp.m_dwScreenHeight = pBackBufferSurfaceDesc->Height;

//задается начальное значение таймера

g_d3dApp.m_fElapsedTime = DXUTGetGlobalTimer()->GetElapsedTime();

g_d3dApp.RestoreDisplayObjects(); //ресторе для объектов приложения

внутри HRESULT CD3DGameApp::RestoreDisplayObjects()
только создаем m_pSprite который используется для вывода вспомогательных текстов
и выставляем флажки активности приложения

m_bIsActive = true;
m_bDisplayReady = true;
для DirectInput тут ничего не требуется
OnFrameMove

// Update the camera's position based on user input
//g_Camera.FrameMove( fElapsedTime );

g_d3dApp.m_fElapsedTime = fElapsedTime;
g_fElapsedTime = fElapsedTime;
g_d3dApp.FrameMove();


OnD3D9FrameRender

g_d3dApp.Render(); //отрисовка сцены

OnD3D9LostDevice

g_d3dApp.InvalidateDisplayObjects();

OnD3D9DestroyDevice

CD3DGameApp::Cleanup3DEnvironment

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

Проверка нажатых клавиш и действий мышью происходит внутри метода

CD3DGameApp::FrameMove

вызовом
UpdateInput(&m_UserInput); //в самом начале

например если сработало действие
case INPUT_SHOWFPSTRIGGER: {

происходит переключение режима отображения FPS (частоты кадров)
и др. вспомогательной информации.

само значение
INPUT_SHOWFPSTRIGGER

объявлено в D3DAppTemplate.h

а далее внутри

static DIACTION g_rgGameAction[] =


к значению привязывается нажатие клавиши -

{ INPUT_SHOWFPSTRIGGER, DIKEYBOARD_F, 0, TEXT("Частота кадров"), },

теперь запустив приложение нажимаем F и видим что при нажатиях то появляется то исчезает отображение FPS и другой дополнительной информации.

клавиша Esc - выход из приложения.



Самораспаковывающийся архив с полным исходным кодом -





Для сборки проекта Вам также потребуются исходные файлы game craft common, содержащие модули diutil, DXUT, SDK и др. Эти файлы используются при сборке данного проекта - d3d9_input, а также потребуются вам в последующих уроках и при разработке реальных игровых и мультимедийных приложений для DirectX 9 и MFC. Они доступны для скачивания в самораспаковывающемся архиве с полным исходным кодом -





далее - работа с 3d камерой в d3d9-приложении 

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

подробнее

     
  Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)  
     
  модель коммандного центраСкачать готовую модель вы можете кликнув по картинке.  
     
  Этот объемистый урок расскажет Вам как научиться создавать нечто подобное: всем известно, что вышла игра StarCraft 2 компании Blizzard. Об этой игре ходят легенды. Но не дожидаясь когда вам удастся засесть за игру, а также для того, чтобы пополнить свои навыки и умения попробуем вообразить себя "крутым дизайнером" (прямо как из Blizzard) и попробовать создать модель и текстуру для коммандного центра из StarCraft 2.  
     
 

Часть 6

По полученной развертке можно нарисовать готовую текстуру. Сделаем мы это средствами Photoshop.

 
     
  В контексте данного урока хотелось бы остановиться на следующих технических аспектах создания текстуры -  
     
   
     
  Здесь показаны базовые техники взятые из скетча скриншота с которым мы уже работали на протяжении предыдущих частей данного урока.  
     
  Рассмотрим как они создаются. Дополнительную информацию о создании текстур в Photoshop можно прочитать в статье - Изображения для компьютерных игр сборника Уроки Photoshop.  
     
  Сначала создаем некоторую текстурную основу -  
     
   
     
  Смотрим как это будет выглядеть на модели -  
     
   
     
  Замечу, что ваша текстура должна быть размером 768х768 (или даже больше), здесь же будут приводиться примеры 128х128 или 256х256 текстур в целях сокращения объема файлов урока!  
     
 

Далее приступаем к рисованию текстуры. Дополнительную информацию о создании текстур для моделей можно прочитать в уроке Варианты раскраски Уроков Photoshop.

В итоге проделанной работы у Вас может получиться нечто подобное -

 
     
  готовая текстурированная модель Коммандного Центра  
     
  Щелкнув по изображению можно скачать готовую текстурированную модель и текстуру (714 Кб). О том как настроить отображение текстуры в 3ds max если она не отображается было рассказано в статье Подготовка к скелетной анимации .  
     
  Теперь рассмотрим технологию изготовления такой текстуры.  
     
  Удобнее всего запустить 3ds max и Photoshop одновременно, чтобы можно было по мере рисования текстуры наблюдать за тем как это будет выглядеть на готовой модели.  
     
  Способ создания потертостей с металлическим блеском на ребрах модели заключается в следующем -  
     
  Переключаемся в окно 3ds max. Открываем файл sc2_commandcenter_unwrap2.max из архива sc2_cc_unwrap.rar Выбираем Основание Коммандного Центра (base2), в узле стека модификаций раскрываем узел модификатора Unwrap UVW и выбираем Select Face. Нажимаем кнопку Edit и нажав клавишу [Prt Scr/SysRq] делаем скриншот экрана.  
     
   
     
  Переключаемся на Photoshop и создаем новый файл. По умолчанию он будет иметь размеры равные размерам разрешения экрана для которого мы делали скриншот.  
     
  Вставляем скриншот из буфера обмена в созданный файл комбинацией клавиш [Ctrl] + [V] или Edit > Paste.  
     
   
     
  При помощи инструмента Rectangle Marquee Tool выделяем и копируем нужную область скриншота содержащую текстуру с каркасом развертки. Создаем новый файл и вставляем результат в него. Масштабируем до нужных размеров (768х768).  
     
   
     
  По полученному каркасу на отдельном слое будем создавать потертости с металлическим блеском -  
     
  Но сначала на другом слое создадим базовую текстуру. Выбираем цвет переднего плана, например R.G.B = 90.75.131 и заливаем весь слой. Задаем для заднего плана чуть более темный цвет. Применяем фильтр Filter > Render > Fibers (если вы используете не Photoshop 8 и выше, а более ранних версий, то этого фильтра там нет!). Затем применяем Filter > Noise. Дублируем слой и поворачиваем на 90 градусов, устанавливаем непрозрачность порядка 38-45%.  
     
  Связываем и склеиваем созданные текстурные слои (исключая слой содержащий каркасы разверток!). При желании можно произвести цветокоррекцию текстуры.  
     
  Сохраняем файл под именем sc2_cc_tex2.jpg и в 3ds max задаем его в качестве материала для всех объектов модели Коммандного Центра. О том как это сделать говорилось в статье - Подготовка к скелетной анимации .  
     
 

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

Создаем отдельный слой. При помощи инструмента Polygonal Lasso обводим нужную деталь по внешнему контуру -

 
     
   
     
  Переходим на слой с текстурой (слой tex на рисунке) и копируем выделенную область [Ctrl] + [C], затем вставляем [Ctrl]+[V] получая новый слой содержащий данный элемент -  
     
   
     
  Теперь слой wire (содержащий изображение каркаса) перетащим выше всех других слоев и установим Непрозрачность 48-52% для него -  
     
   
     
  Теперь установив для Polygonal Lasso режим Add to Selection  
     
   
     
  По внутреннему контуру выделяем области для данной детали -  
     
   
     
  Скрываем слой wire, инвертируем выделение [LCtrl]+[LShift]+[I] и на слое содержащем текстуру для детали Осветляем (установив область воздействия на средние тона - Midtones) внешние участки детали формируя искомый вид потертости с металлическим блеском -  
     
   
     
  Используя эту технику было создано большинство элементов текстуры Коммандного Центра.  
     
  Если использовать ту же технику но с применением не осветления, а Затемнения (Burn Tool), то можно добиться создания впадающих областей или щелей -  
     
   
     
  При создании отдельных деталей можно воспользоваться эффектами Обводки (Stroke) и Рельефности (Bevel and Emboss). Нужно лишь хорошенько поэкспериментировать.  
     
   
     
  Если Вы затрудняетесь сами создать оставшиеся элементы, то дополнительную информацию можно почерпнуть в разделе [Статьи].  
     
  [назад]  
     
     
     
подробнее

     
  Уроки Photoshop  
     
  Рисуем волка из мультфильма  
     
  30/10/2008  
     
 

Как нарисовать персонажа в Photoshop?

Попробуем изобразить вот такого волка -

 
     
   
     
  [щелкнув по изображению раскрашенного волка можно открыть вариант в натуральную величину]  
     
  [к началу] [страница 2] [страница 3] [страница 4]  
     
  Следующее затруднение, которое у Вас возникнет заключается в следующем:  
     
   
     
  Когда Вы будете заливать области представленные замкнутыми контурами, например глаза, как на этом рисунке, то после выполнения заливки заметите, что вдоль краев осталась незакрашенная область. Она объясняется тем, что контуры выполнялись кистью с нежесткими, полупрозрачными краями. Устранить это можно подрисовав края кистью вручную или применением эффекта перехода (Blending) представленного обводкой (Stroke) -  
     
  Выберите слой с заливкой глаз и щелкните в панели слоев по нему правой кнопкой мыши, в появившемся контекстном меню выберите Blending Options -  
     
   
     
  в открывшемся окне щелкните пункт stroke  
     
   
     
  вместо красного цвета обводки задайте белый, размер обводки уменьшите до 2 пиксель -  
     
   
     
  обратите внимание - для отображения параметров эффекта Stroke нужно не только поставить галочку напротив данного пункта, но и сделать, чтобы он был выделен также как на рисунке.  
     
  После применения эффекта обводки Вы увидите в панели слоев появление пункта обозначающего применение эффекта. В дальнейшем Вам потребуется работа с изображением в таком виде, чтобы эффекты были растрированы, т.е. превращены из эффектов в пиксели изображения. Чтобы превратить эффект в растровое изображение достаточно создать пустой слой, связать этот пустой слой со слоем, в котором мы хотим растрировать эффекты и выполнить склеивание связанных слоев.  
     
   
     
   
     
  Для связывания слоев достаточно щелкнуть мышью в пустом окошке напротив слоя (см. рисунок выше - обведено зеленым).  
     
  После этого пункта эффекта в названии слоя исчезает, а сам эффект становится частью изображения, как будто Вы изобразили его сами. Т.е. полученное можно обрабатывать дальше - прорисовывать, улучшать, добавлять новые эффекты и т.п.  
     
  Теперь переходим к работе со свето-тенью. Всё что Вам потребуется - это новые слои, расположенные под слоем с контурами, но над слоями с раскраской, кисть различной степени прозрачности и оттенки цветов которые Вы уже применили при раскрашивании.  
     
  Используя более светлые оттенки чем основные Вам нужно нарисовать у волка участки, которые имеют блик или лучше освещены. Используя более темные оттенки Вы изобразите соответственно тени.  
     
  Вот что у Вас примерно должно получиться -  
     
   
     
  Теперь рассмотрим как это выполнить  
     
  Создаем новый слой и располагаем его так, чтобы он находился над слоями с раскрашенными элементами, но под слоем с контурами -  
     
   
     
  Выберите инструмент кисть и сделайте у нее нежесткие края и меньшую непрозрачность -  
     
   
     
  На новом созданном слое, например под именем body_shadows начинаем рисовать тени. Цвет теней можно задать следующим образом:  
     
  Наводим курсор кисти на участок изображения, с которого хотим взять цвет и нажав клавишу [Alt] превращаем кисть в пипетку. Пипетка служит для взятия цвета пикселя под ее курсором. После этого в окне диалога выбора цвета делаем из выбранного более темный цвет -  
     
   
     
   
     
   
     
   
     
  Теперь используя выбранный цвет рисуем тени. Области для рисования теней показаны на рисунке ниже -  
     
   
     
  Т. е. предположив, что источник освещения находится слева и над головой волка в соответствии с этим изображаем тени на футболке - от рук, от головы. Кроме того тени могут быть во впалых участках тела. По аналогии с этим рисуются и светлые участки и блики, для светлых участков цвет соответственно должен быть светлее основного тона раскрашиваемого элемента (см. рисунок) или вообще используйте белый цвет или близкие к белому оттенки серого.  
     
  После того, как Вы закончите волк будет готов!  
     
  Если Вы всё поняли и у Вас всё получилось, то можно двигаться дальше - выполнить анимирование волка, например нарисовать анимацию хотьбы.  
     
  Об этом рассказано дальше  
     
     
     
     
     
     
     
     
  [назад] [далее]  
     
  [Все уроки]  
     

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

read paper in english

Цель данного урока проста - показать как средствами directx 9c рисуются линии.

Иногда это бывает необходимо. Например в редакторе сцены Scene Editor этим способом рисуется сетка (grid), служащая для точного позиционирования игровых объектов в сцене.

Создание игры во fle game engine - Рисование линий - Это может пригодиться

В документации по directx 9c приводится интерфейс ID3DXLine, а также его методы, которые нужно использовать для рисования линий.

Однако нет полноценного примера как применяется это всё вместе.

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

Всё что вам нужно - это иметь базовый исходный код, для создания простого directx 9c приложения (его Вы тоже сможете скачать), а также несколько десятков строк кода, который потребуется чтобы выполнить рисование линий средствами directx 9c.

Суть состоит в следующем:

в модуле start.h внутри класса CD3DGameApp объявляем такие поля и методы:

//draw line
ID3DXLine* m_pLine;
void CreateLine(IDirect3DDevice9* pd3dDevice);
void LineOnLostDevice();
void LineOnResetDevice();
void FillPixel(int x, int y, int w, int h, DWORD color);
void FreeLine();
void DrawPoint(float x, float y, DWORD color);
void DrawLine(float x, float y, float x2, float y2, float width, DWORD color);

в модуле start.cpp реализуем их.


CD3DGameApp::CD3DGameApp()
{
//...
m_pLine = NULL;

void CD3DGameApp::CreateDeviceObjects(IDirect3DDevice9* pd3dDevice) { CreateLine(pd3dDevice); } HRESULT CD3DGameApp::RestoreDisplayObjects(IDirect3DDevice9* pd3dDevice) { //... LineOnResetDevice(); } HRESULT CD3DGameApp::DestroyDisplayObjects() { //... FreeLine(); } HRESULT CD3DGameApp::InvalidateDisplayObjects() { //... LineOnLostDevice(); } //draw line
void CD3DGameApp::CreateLine(IDirect3DDevice9* pd3dDevice)
{
D3DXCreateLine(pd3dDevice, &m_pLine);

}

void CD3DGameApp::LineOnLostDevice()
{
if ( m_pLine != NULL )
{
m_pLine->OnLostDevice();
}
}

void CD3DGameApp::LineOnResetDevice()
{
if ( m_pLine != NULL )
{
m_pLine->OnResetDevice();
}
}

void CD3DGameApp::FillPixel(int x, int y, int w, int h, DWORD color)
{
D3DXVECTOR2 vLine[2];

if ( m_pLine != NULL )
{

m_pLine->SetWidth( (float)w );
m_pLine->SetAntialias( false );
m_pLine->SetGLLines( true );

vLine[0].x = (float)(x + w/2);

vLine[0].y = (float)y;
vLine[1].x = (float)(x + w/2);
vLine[1].y = (float)(y + h);

m_pLine->Begin();
m_pLine->Draw( vLine, 2, color );
m_pLine->End();

}

}

void CD3DGameApp::FreeLine()
{
SAFE_RELEASE( m_pLine );
}

void CD3DGameApp::DrawPoint(float x, float y, DWORD color)
{
FillPixel((int)x, (int)y, 1, 1, color);
}

void CD3DGameApp::DrawLine(float x, float y, float x2, float y2, float width, DWORD color)
{
D3DXVECTOR2 vLine[2];

if ( m_pLine != NULL )
{

m_pLine->SetWidth( width );
m_pLine->SetAntialias( false );
m_pLine->SetGLLines( true );
vLine[0].x = x;
vLine[0].y = y;
vLine[1].x = x2;
vLine[1].y = y2;
m_pLine->Begin();
m_pLine->Draw( vLine, 2, color );
m_pLine->End();

}
}

void CD3DGameApp::DrawGameView() { //draw line DrawPoint(30.0f, 30.0f, 0xFFFF0000); DrawLine(10.0f, 50.0f, 300.0f, 50.0f, 1.0f, 0xFFFFFF00); DrawLine(80.0f, 210.0f, 400.0f, 120.0f, 2.0f, 0xFF00FF00); DrawLine(500.0f, 310.0f, 200.0f, 80.0f, 1.0f, 0xFFFFC017); }

Вот и всё ! Таким образом мы научились рисовать точки и линии произвольного цвета и положения. В коде цвета можно использовать и значение альфа - первая пара чисел, она будет задавать полупрозрачность изображаемого примитива. 0xFFFFC017 - FF - значение альфа, т. е. 255.

Объект линии - m_pLine проходит все те же стадии, что и любой другой directx 9c объект: создание CreateLine, сброс LineOnResetDevice, инвалидацию LineOnLostDevice, освобождение FreeLine, ну и конечно отрисовку DrawLine. Если Вы захотите анимировать линии, тогда вам еще будет нужно реализовать метод анимации, например AnimLine, вызываемый из метода CD3DGameApp::FrameMove вашего приложения.

Скачать пример Draw Line с полным исходным кодом (524 Kb).





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

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

к содержанию

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

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



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


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