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


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

Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017
Платная подписка на simple game fle game engine версия 1.0.7 от 05.01.2017 Вы можете прямо сейчас оформить платную подписку на fle game engine -
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
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 - Изменение постоянных свойств в зависимости от контекста

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать

megainformatic - Искатели приключений Зеленый Шарик

megainformatic - Без названия

megainformatic - Мульти анимация

Pencil, Paper and the Ball PC game

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать страница 2

megainformatic - Костя Коробкин Компания Зергов онлайн комикс читать страница 3

megainformatic - fle game engine - создание 3d игры - simple game 3d

Pencil, Paper and the Ball PC game

I Free lancer - tale, story Я фрилансер повесть, история

Шарики и Ямки игра, Эмулятор игры Ну Погоди, Balls and Holes, Веселый Буквоежка Комикс, Костя Коробкин Комикс, Нечто: Необъяснимое в плену желаний 2 начало, simple game, с новым годом

Процесс создания игры в картинках

Сравнение различных игровых движков. Плюсы и минусы

app combainer - комбайнер настольных и веб приложений

kerbal space program - Первые впечатления

Pencil Paper and the Ball PC Game review #91 - Как я придумываю историю

We all live in a yellow submarine !

подробнее

Flash приложения и игры - Шаг 3 - управляемый шарик

Как я осваивал Flash - содержание

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

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

Как оказалось второй шарик, который создавался в уроке Шаг 2 совсем не нужен.

Давайте сначала посмотрим пример -





Фокус ввода для области в котором размещено флеш-приложение на страничке сайта.

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

Этот простой механизм решает сразу 2 задачи: Ваша флеш игра получает фокус ввода от клавиатуры и стартует игровой процесс.

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

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

Это и есть тот самый фокус ввода.

подробнее

Пишем свою cms - шаг 3

В предыдущей статье - Пишем свою cms - шаг 2
Вы узнали какой код положен в основу config.php, и какие задачи
он решает.

Обычно config.php содержит настройки доступа к базе данных.

Но поскольку в нашем случае megainformatic cms free это система, которая работает без mysql баз данных, то этих настроек в config.php нет.

Итак, поскольку с config.php теперь всё ясно, будем двигаться дальше.

Рассмотрим какие файлы составляют основу шаблона сайта, и самое главное увидим их код.

Основу шаблона нашей cms составляет папка, расположенная в папке design.

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

Соответственно наша цель - разобраться как создать свой шаблон, взяв за основу код одного из имеющихся.

Не мудрствуя лукаво просто делаем копию папки green.

И полученную новую папку назовём например, go

Чтобы новый шаблон стал текущим по-умолчанию изменим содержимое файла config.php на такое -

//набор доступных шаблонов
$templates = array('go', 'green', 'blue');
//имя шаблона по-умолчанию
$template_name = "go";

всё остальное оставим без изменений.

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

Во-вторых теперь мы смело можем зайти в папку design/go/ и попробовать что-то там менять.

Давайте рассмотрим код файла design/go/header.php нашего шаблона.

Я предполагаю, что Вы скачали megainformatic cms free и смотрите код header.php из папки design/green/ или из созданной папки go являющейся пока полной копией папки green.

Приведу лишь некоторые выдержки из кода -

design/go/header.php

определяем DOCTYPE для нашего сайта.

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

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

далее видим как обычно - открывающие теги <html>, <head>, кодировку указанную в теге <meta>,

и наконец мы видим первый php код -

<?php //подключаем модуль page, который отвечает за формирование заголовка (title) для страницы сайта
//и за контент, отображаемый в центральном блоке content сайта.
include_once "modules/page.php";

//тут видим, что заголовок страницы сайта будет взят из переменной $pagetitle
echo "<TITLE>$pagetitle</TITLE>";
?>

далее следует содержимое мета-тегов по-умолчанию для всех страниц сайта.

подключение стилей css

закрывающий тег </head>

и открывающий тег <body>

за ним следует вывод html-верстки формирующей шапку сайта

код для вывода текущей даты-времени

модуль выбора шаблонов сайта

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

Поскольку модулей для вывода случайной новости, поиска и карты сайта в составе нашей cms еще нет, то не будем волноваться по-поводу их отсутствия.

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

Описанной информации Вам будет достаточно, чтобы усвоить задачу, которую решает файл design/go/header.php в шаблоне сайта.

Резюмировать можно так - header.php отвечает за определение DOCTYPE, кодировки, заголовка, мета-тегов, подключение стилей, а также вывод верхней части сайта, составляющей его шапку (top), а также информационные блоки - текущая дата-время, форма выбора шаблона, блок случайной новости, поле поиска, ссылка на карту сайта, облако тегов и бегущую строку.

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

А это уже гораздо больше чем совсем ничего :))) Согласитесь.

подробнее

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

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

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

Код html-страницы, который Я вам там привёл может работать правильно не всегда и не в любом браузере.

Почему ?

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


=========================================
I.) Первая проблема - это определение типа html документа, по описанному DOCTYPE.


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

На сайте htmlbook.ru приводится следующее определение для DOCTYPE

Элемент предназначен для указания типа текущего документа — DTD (document type definition, описание типа документа). Это необходимо, чтобы браузер понимал, как следует интерпретировать текущую веб-страницу, поскольку HTML существует в нескольких версиях, кроме того, имеется XHTML (EXtensible HyperText Markup Language, расширенный язык разметки гипертекста), похожий на HTML, но различающийся с ним по синтаксису. Чтобы браузер «не путался» и понимал, согласно какому стандарту отображать веб-страницу и необходимо в первой строке кода задавать .

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

Табл. 1. Допустимые DTD
DOCTYPE Описание
HTML 4.01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Строгий синтаксис HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Переходный синтаксис HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> В HTML-документе применяются фреймы.
HTML 5
<!DOCTYPE html> Для всех документов.
XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Строгий синтаксис XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Переходный синтаксис XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> Документ написан на XHTML и содержит фреймы.
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> Разработчики XHTML 1.1 предполагают, что он постепенно вытеснит HTML. Никакого деления на виды это определение не имеет, синтаксис один и подчиняется четким правилам.


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

Язык html постоянно развивается, расширяясь и дополняясь его разработчиками. Именно поэтому так необходимо использовать DOCTYPE.

Кроме того, после задания DOCTYPE вам нужно обязательно соблюдать некоторые правила, в записи тегов. Так, если Вы задали для DOCTYPE обычный тип html-документа, то и теги Вы продолжаете записывать так обычно, а вот если Вы задали тип как XHTML, тогда запись тегов может несколько измениться, например символ <br>, вам нужно будет записывать как <br/>

Помимо основных, существуют также некоторые переходные типы DOCTYPE, например <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Они также были приведены в таблице указанной выше.

Полный перечень и более подробное описание всех возможных вариантов DOCTYPE и их применения можно почерпнуть здесь - http://www.w3.org/TR/html401/struct/global.html

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


=========================================
II.) Вторая проблема - использованная в html-документе кодировка и тег, её задающий.


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

Всё что Вам нужно знать для того, чтобы не возникало проблем с кодировками это 2 вещи:

1) Сразу после открывающего тега <head> укажите такую строчку -
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">

При этом сам файл страницы должен быть также сохранен в этой же кодировке - windows-1251

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

Бывают конечно и другие ситуации (см. Проблема с кодировками при отображении страниц сайта ), но чаще всего причина именно в этом.

В заключение данной статьи давайте перепишем код нашей первой странички в новом виде -

<!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>
</head>
<body>
Привет! Это текст на моей первой странице.<br><br>

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

</html>

При этом сохраняем файл index.html в кодировке windows-1251 (если сохраняете из блокнота, то указываете её как ANSI)

далее

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

подробнее

     
  Уроки Photoshop  
     
 

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

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

 
     
  [содержание] [назад] [страница 3] [далее]  
     
  Изучаем и модифицируем пример CreateDevice - страница 3  
     
  Запускаем Photoshop.  
     
 

Для подготовки набора изображений иконки приложения нужно создать из какого-либо готового изображения 3 изображения размеров: 48х48 пиксель, 32х32 и 16х16.

Цветовой режим задать индексный, количество цветов не более 255 и сохранить эти 3 изображения в формате BMP

 
     
  Например возьмите любое из этих изображений -  
     
  примеры изображений для превращения в иконкупримеры изображений для превращения в иконку  
     
  И уменьшите до размера 48х48  
     
  изменение размера изображения в Photoshop  
     
  изменение размера изображения в Photoshop  
     
  После этого задайте для изображения режим индексированного цвета  
     
  задайте для изображения режим индексированного цвета  
     
  Далее выберите пункт меню Файл > Сохранить как (File > Save As) и сохраните в формате BMP  
     
  сохраните в формате BMP  
     
  сохраните в формате BMP  
     
  Аналогично создайте и сохраните под другими именами изображения 32х32 и 16х16  
     
  Важное замечание! Перед масштабированием изображения 48х48 до размера 32х32 измените режим на RGB для более плавного рассчета цветовых переходов, после завершения операции снова задайте индексированный режим изображения.  
     
 

Примеры полученных изображений -

48x.bmp

32x.bmp

16x.bmp

 
     
  Теперь можно закрыть Photoshop и запустить Microsoft Visual Studio  
     
  Открываем проект CreateDevice и дважды щелкаем его ресурс - иконку IDI_MAIN_ICON  
     
  дважды щелкаем его ресурс - иконку IDI_MAIN_ICON  
     
  Теперь Вам остается перетащить созданные три изображения в окно MSVS и вставить изображения из них в используемую иконку.  
     
  Предварительно возможно придется удалить все имеющиеся в файле иконки изображения, делается это следующим образом - нужно щелкнуть правой кнопкой мыши в столбце изображений иконки и выбрать вариант - Delete Image Type  
     
  Delete Image Type  
     
  Затем аналогичным образом создаете изображение такого же типа и вставляете в него нужное Вам.  
     
  Для выделения изображения используйте Rectangle Selection Tool, для выделения/вставки пункт меню Edit > Copy / Edit > Paste  
     
  Еще после вставки Вы заметите изменения цветов пикселей. Это нормально, т. к. происходит изменение с учетом текущей палитры. Чтобы таких изменений не происходило нужно либо использовать исходные изображения с количеством цветом меньшим 256, либо нужно вручную перерисовывать иконку прямо в редакторе MSVS.  
     
 

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

CreateDevice.rc

 
     
  [содержание] [назад] [страница 3] [далее]  
     
     
  эмулятор игры Ну, Погоди!  
     
 

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

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

 
     
  [содержание] [назад] [страница 1] [далее]  
     
  Matrices - Матрицы - страница 1  
     
 

Итак, Мы подошли с Вами к изучение примера Matrices

Он построен всецело на тех же принципах, что и примеры CreateDevice и Vertices.

Нововведением является использование функции анимирования FrameMove, которая правда пока не вынесена в отдельную функцию, а называется пока SetupMatrices, кроме того, рассмотрен принцип трансформаций моделей с применением матриц на примере вращения простейшей модели в виде треугольника.

 
     
 

В сущности код примера Matrices это тот же самый код, что и Vertices.

Основное отличие - добавлена функция SetupMatrices

VOID SetupMatrices()
{
// матрица 3d-мира - world matrix, мы просто вращаем объект вокруг оси Y.
D3DXMATRIXA16 matWorld;

// задаем матрицу вращения для генерации полного оборота в 2*Пи-радиан
// каждые 1000 ms (миллисекунд). Для предупреждения потери точности
// в вычислениях, системное время модулируется и умножается на период вращения
// до преобразования в угол поворота в радианах

UINT iTime = timeGetTime() % 1000;
FLOAT fAngle = iTime * ( 2.0f * D3DX_PI ) / 1000.0f;
D3DXMatrixRotationY( &matWorld, fAngle );
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );

// Настраиваем view matrix - матрицу Вида. Матрица вида определяется как
// положение глаза vEyePt, положение точки куда смотрит глаз vLookatPt и

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

//указываются конкретные векторные координаты для этих точек
D3DXVECTOR3 vEyePt( 0.0f, 3.0f,-5.0f );
D3DXVECTOR3 vLookatPt( 0.0f, 0.0f, 0.0f );
D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
D3DXMATRIXA16 matView;

//по ним строится матрица Вида и задается в качестве таковой
D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );

// Матрица Проецирования - projection matrix - это перспективное преобразование
// приводящее геометрию из 3D пространства вида к 2D пространству экрана Viewport,
// (перспектива приводит к уменьшению удаленных на расстояние объектов). Для
// построения Перспективной трансформации, Мы используем Угол обзора field of view

// 1/4 pi что является наиболее распространенным,
// Соотношение длины экрана к ширине - aspect ratio, и ближний near и дальний far планы // привязки (которые определяют дистанцию, на которой следует отрисовывать

// геометрию).

D3DXMATRIXA16 matProj;
D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI / 4, 1.0f, 1.0f, 100.0f );
g_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
}

 
     
 

Функция Render также претерпела небольшие изменения - перед выполнением отрисовки сцены вызывается метод её анимирования -

// Begin the scene
if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
// вообще говоря, данный метод должен вызываться вне скобок BeginScene..EndScene

//кроме того, более правильно и понятно будет создать отдельную функцию FrameMove, //разместить вызов функции SetupMatrices внутри неё, а отсюда убрать.

//вызов метода FrameMove организовать внутри wWinMain
SetupMatrices();

// Render the vertex buffer contents
g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof( CUSTOMVERTEX ) );
g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 1 );

// End the scene
g_pd3dDevice->EndScene();
}

 
     
 

Вот как должны выглядеть описанные исправления -

//FrameMove()

VOID FrameMove()
{
// Setup the world, view, and projection matrices
SetupMatrices();
}

//Render()

VOID Render()
{
// Clear the backbuffer to a black color
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 0, 0, 0 ), 1.0f, 0 );

// Begin the scene
if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
// Setup the world, view, and projection matrices
//SetupMatrices();

// Render the vertex buffer contents
g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof( CUSTOMVERTEX ) );
g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 1 );

// End the scene
g_pd3dDevice->EndScene();
}

// Present the backbuffer contents to the display
g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
}

//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 03: Matrices",
WS_OVERLAPPEDWINDOW, 100, 100, 256, 256,
NULL, NULL, wc.hInstance, NULL );

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

// Enter the message loop
MSG msg;
ZeroMemory( &msg, sizeof( msg ) );
while( msg.message != WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else {
FrameMove();
Render();
}
}
}
}

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

 
     
  Оранжевым цветом я пометил добавленный или исправленный код.  
     
 

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

// описание структуры для типа вершин
struct CUSTOMVERTEX
{
FLOAT x, y, z; // untransformed - нетрансформировання, 3D позиция вершины
DWORD color; // вершинный цвет
};

// формат FVF, описывающий применяемый тип вершины - вершина содержит только

// описание положения и вершинного цвета
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)

 
     
 

Слегка изменилась и функция InitD3D -

добавились строки кода

// отключаем culling, так как требуется сделать видимой переднюю и заднюю грани

// треугольника
g_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );

// Отключаем D3D освещение, поскольку Мы используем собственный цвет вершин
g_pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );

 
     
  В качестве задания для самостоятельной работы попробуйте выполнить модификацию данного примера, чтобы использовать вращающийся квадрат вместо вращающегося треугольника.  
     
     
  [содержание] [назад] [страница 1] [далее]  
     
megainformatic live chat
Начать беседу
X
 

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



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


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