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


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

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

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Создание сайта бесплатно или под заказ

megainformatic - Как создать flash баннер

megainformatic - Разработка flash-приложения для сайта: онлайн примерочная

megainformatic - Мои впечатления о книге - Владислав Крапивин - Журавленок и Молнии

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль отзывов/комментариев для вашего сайта

megainformatic - Модуль короткие ссылки short link

megainformatic - Работа с сокетами fsocket из php

megainformatic - Как создать игру Создание игровых панелей и индикаторов

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

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

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

megainformatic - Система управления сайтом на php - megainformatic cms admin files

megainformatic - обзор антивирусных средств защиты

megainformatic - как работает антивирус ?

megainformatic - Создание сайта для бизнеса

megainformatic - Новый взгляд на очевидные вещи

megainformatic - Разработка программ на c++

megainformatic - Немного о музыке

megainformatic - GET и POST запросы

megainformatic - для чего нужна карта сайта

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

megainformatic - Мысли о разном

megainformatic - Легко ли быть программистом

megainformatic - Глубины программирования на C++

megainformatic - Убираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic - Как создать torrent файл

megainformatic - Нужна ли валидация вашему сайту ?

megainformatic - Антивирус DrWeb

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

megainformatic - Что такое BitTorrent (БитТоррент)

megainformatic - Миссис Даутфайр 1993 фильм torrent

megainformatic - Как скачивать торрент-раздачу ?

megainformatic - Автотелега фильтр

megainformatic - Фильмы

megainformatic - Fahrengeit Фаренгейт игра 2006 для PC

megainformatic - Fez игра для PC 2013

megainformatic - Дневник памяти - фильм 2004

megainformatic - Scooter - The night - Video and Lyrics - Скутер - Ночь - Видео и лирика

megainformatic - Если всё же неудача

megainformatic - Смерть или искупление или избавление

megainformatic - По ту сторону

cj megainformatic - музыкальный альбом БЕСКОНЕЧНОЕ ДВИЖЕНИЕ ОЖИДАНИЕ И ДЕЙСТВИЕ

megainformatic - Костя Коробкин - Секретный проект - интерактивный комикс

megainformatic - Основы анимации во флеш на примере анимирования простейшей окружности

megainformatic - Парсер сайтов Введение

megainformatic - Я пишу музыку для себя и для продажи

megainformatic - Статьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - Чужие воспоминания - автор Синицин Андрей - 24.09.2014

megainformatic - Сайты живущие вне поисковых систем. Есть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

megainformatic - Game craft - Наложение текстуры на модель робота scv (часть 4)

подробнее

     
 

Конструируем свой сайт - полезные статьи для начинающих строителей сайтов.

Как добавить созданный счетчик на все страницы Вашего сайта ?

 
     
 

Сначала отвечу на ряд возникших у Вас по ходу прочтения предыдущей статьи вопросов - Работа с базами данных MySQL

 
     
 

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

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

http://localhost/Tools/phpmyadmin/index.php

Т. е. со страницы PHPMyAdmin

 
     
 

После перехода на эту страницу Вам снова нужно выбрать базу данных нажав кнопку Databases и выбрав в таблице нужную.

Далее в столбце Action находим кнопку Insert и добавляем новую запись, заполнив поля необходимыми данными -

 
     
  вставка новой записи в таблицу базы данных  
     
 

2) Мы не рассмотрели собственно что делает созданный код -

<HTML>
<HEAD>
<TITLE>db</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>

Данные теги открывают HTML документ, описывают его HEAD - заголовок, тип, символьный набор для русских букв windows-1251, задают цвет фона страницы

#FFFFFF - белый, отступы - все по 0,

<?php

начало php-скрипта

if ($rc = mysql_connect("127.0.0.1", "admin", "Ji7yVasb2"))

соединяемся с базой данных по указанному адресу - 127.0.0.1, и используя имя пользователя admin и пароль Ji7yVasb2

{
$day = date("Y-m-d");

заносим в переменную $day текущую дату в формате Год-Месяц-День

mysql_select_db("counterdb");
$table = "visitors";

выбираем базу данных counterdb, задаем имя таблицы

$s = mysql_query("SELECT * FROM $table");

выполняем запрос - выборка всех данных из таблицы $table

$a = mysql_fetch_array($s);

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


$a[total] = $a[total] + 1;

поле total увеличиваем на 1

if ($day !==$a[currentday])
{
$a[currentday]=$day;
$a[today]=1;

если текущая дата не совпадает с датой в полученной записи, устанавливаем поле currentday в значение текущей даты, а поле today приравниваем к 1

}
else {
$a[today] = $a[today]+1;
}

иначе - увеличиваем поле today на 1

mysql_query("UPDATE visitors SET total = '$a[total]', today = '$a[today]', currentday = '$a[currentday]'");

обновляем данные по текущей записи в таблице visitors базы данных

echo "<table border=1 bordercolor=green><tr>
<td colspan=1 align=center>посетителей</td></tr>
<tr><td align=center>всего</td><td align=center>сегодня</td></tr>
<tr><td align=center>$a[total]</td>
<td align=center>$a[today] </td></tr></table>";

выводим данные о посетителях на страницу
}
else {
echo "Error!";
}

если произошла ошибка - выводим на страницу сообщение

?>
</BODY>
</HTML>

закрываем теги BODY и HTML

 
     
 

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

в том месте страницы, где вы хотите выводить счетчик нужно вставить такой код -

<?php
include "my_counter.php";

?>

где имя my_counter.php - это имя файла php-скрипта, которое Вы задали для Вашего счетчика

 
     
 

Конечно мы с Вами рассмотрели простейший счетчик.

Он не умеет считать уникальных посетителей, не откладывает данные каждого дня в отдельную запись и много чего еще.

НО! Зато мы рассмотрели достаточно подробно:

КАК РАБОТАТЬ С БАЗОЙ ДАННЫХ MySQL на Вашем сайте и

КАК РЕАЛИЗОВАТЬ ПРОСТЕЙШИЙ СЧЕТЧИК ДЛЯ СТАТИСТИКИ ПОСЕЩЕНИЙ САЙТА.

 
     
  Если Вы разобрались во всём этом - значит Вы уже сделали огромный шаг вперед в освоении PHP, MySQL и построении своего сайта !!!  
     
  Желаю Вам удачи на поприще сайтостроения !  
     
  Другие уроки можно посмотреть в разделе Статьи  
     
подробнее

Как создать игру ? - Пишем игровой движок с нуля - DXUTMainLoop - цикл работы DirectX-приложения

[Содержание]  [Назад]  [Далее]

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

DXUTMainLoop - цикл работы DirectX-приложения

Мы рассмотрим что собой представляет цикл DXUTMainLoop

На показанной блок-схеме обозначены основные элементы этого цикла -

DXUTCreateDevice

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

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

Обычные Windows-приложения не обладают такими возможностями, которые предоставляет DirectX, поэтому игры "выжимают" из вашего компьютера всё возможное быстродействие и все ресурсы на 100% и даже больше % :))))

WM_QUIT != msg.message

while( WM_QUIT != msg.message ) представляет собой бесконечный цикл обработки системных сообщений, выполняемый до тех пор, пока не поступит сообщение WM_QUIT свидетельствующее о завершении работы приложения.

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

Этот этап осуществляется внутри DXUTRender3DEnvironment

Вот собственно и всё. Как видите тут тоже всё достаточно просто. Необходимые подробности Вы можете почерпнуть изучая примеры из DirectX SDK Aug 2008 или выше, а также из готового игрового движка, который я уже написал - Полный исходный код игры ВЕБ - Веселый Единственный Буквоежка.

Реализация функции DXUTMainLoop описана в модуле DXUT.cpp

Найти данный модуль достаточно просто - если проект исходного кода движка у вас уже открыт в среде MSVS, то находим модуль DXUT.cpp в окошке Solution Explorer как показано на рисунке

если проект исходного кода движка у вас уже открыт в среде MSVS, то находим модуль DXUT.cpp в окошке Solution Explorer как показано на рисунке

Теперь заглянем в модуль DXUT.cpp и посмотрим, что записано в реализации процедуры void WINAPI DXUTRender3DEnvironment()

Там как видим всего лишь такой код

if( DXUTIsCurrentDeviceD3D9() )
DXUTRender3DEnvironment9();
else
DXUTRender3DEnvironment10();


Т. е. если ваше приложение работает в режиме DirectX 10 - то будет выполнена процедура DXUTRender3DEnvironment10, и если в режиме DirectX 9 - тогда DXUTRender3DEnvironment9.

DirectX 10 работает только под системами Windows Vista и выше, поэтому выбор DirectX 9 более универсален - приложения будут работать и на XP и даже на более ранних версиях Windows, естественно с установленными файлами для DirectX 9 и драйверами под эту версию directx.

DirectX 9 как видите хоть и более старый, но с точки зрения проверенности и совместимости с более старыми системами представляет наилучший выбор.

Мы с Вами уже добрались до самого интересного -

void DXUTRender3DEnvironment9()

Код, который записан внутри этой процедуры Вы также можете найти в модуле DXUT.cpp который есть в DirectX SDK Aug 2008 или в Полном исходном коде игры ВЕБ - Веселый Единственный Буквоежка

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

if( GetDXUTState().GetDeviceLost() || DXUTIsRenderingPaused() || !DXUTIsActive() )
{
Sleep( 50 );
}


Данный блок кода проверяет условия - устройство DirectD3DDevice "потеряно", либо процесс отрисовки приостановлен (пауза), либо окно приложения не активно (потеряло фокус).

Если одно из указанных событий имело место, то происходит приостановка (sleep) выполнения приложения длительностью 50 миллисекунд.

IDirect3DDevice9* pd3dDevice = DXUTGetD3D9Device();)
if( NULL == pd3dDevice ))
{)
if( GetDXUTState().GetDeviceLost() ))
{)
DXUTDeviceSettings deviceSettings = DXUTGetDeviceSettings();)
DXUTChangeDevice( &deviceSettings, NULL, NULL, false, true );)
})
)
return;)
})


В данном кусочке кода видим как объявляется переменная pd3dDevice, какой она имеет тип - IDirect3DDevice9, символ * свидетельствует о том, что в переменной pd3dDevice хранится не сам объект IDirect3DDevice9, а только указатель на него (ссылочный тип).
Не путайте с гиперссылкой :))))

Дам небольшое пояснение.

int some = 1; //это переменная some имеющая тип int (целое число) равная значению 1
int* psome = &some; /* а эта переменная - psome - указатель на int и как видите хранит не значение 1, а адрес этой переменной в памяти - это и есть указатель или ссылочный (reference) тип */


Созданные настройки для устройства сохраняем в переменной deviceSettings.

Вызываем функцию DXUTChangeDevice, которая создает новое устройство directdevice.

Помимо этого (см. далее по коду внутри DXUTRender3DEnvironment9 ) проверяется TestCooperativeLevel - своего рода уровень занятости устройства directdevice.

[Содержание]  [Назад]  [Далее]
подробнее

     
  Введение в 3ds max  
     
  Работа в 3ds max принципиально отличается от работы в 2D-редакторах. Вы будете заниматься именно моделированием, а не рисованием или черчением, поскольку будете создавать каркас будущих трехмерных объектов.  
     
 

В данном уроке Вы узнаете как начать работу над созданием трехмерных моделей и их текстурированием. Нами будет рассмотрена программа 3D Studio MAX версий от 4 до 9 и выше компании Descreet (подразделение AutoDesk).

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

Обязательно нужно представлять то, что Вы будете моделировать. Нужно иметь фотографию, рисунок выполненный в основных проекциях. Без этого невозможно будет создать полноценную модель. Поэтому как ни странно знания 2D Вам не только не помешают, а наоборот - очень сильно пригодятся!

Что же нужно для того, чтобы начать разбираться в создании 3D-графики и моделировании? Для этого нужно совсем немного – установить данную программу и, начав изучать ее понемногу, постепенно разобраться во всем самим. Если у Вас есть более ранняя версия 3DS MAX, например, 4, 5 или 6, то ничего страшного – все что описано здесь и далее можно сделать в любой из этих версий (с небольшими оговорками). Важно понять основные аспекты и принципы работы!

Немного о 3D-графике. 3D-моделирование и 3D-графика, вообщем-то имеют свои корни в 2D-векторной графике. Плоская (2-х мерная) векторная графика использует для построения рисунков математически четко описываемые графические примитивы – точки, отрезки, многоугольники и т.д. Трехмерная графика опирается на тот же математический аппарат в приложении к описанию все тех же примитивов, но уже в трехмерном пространстве.

Базовыми понятиями, которых мы коснемся и еще будем касаться в данном цикле статей посвященных 3D-моделированию, являются следующие:

Vertex – вершина, величина описывающая положение одной их точек трехмерной модели. Точка в трехмерном пространстве описывается тремя координатами: (x; y; z).

Понятие о системах координат и видах преобразований.

В связи с тем, что отображение 3-х-мерных изображений происходит на 2D плоской поверхности экрана производится поэтапное преобразование. На сегодняшний день эти этапы внедрены на аппаратном уровне современных видеокарт (3D-ускорителей) и в их драйверах. Вся работа возложена на трехмерные виртуальные машины – технологии DirectX, OpenGL.

Выделяется 3 этапа преобразований трехмерных координат: World, View и Projection – пространства, наблюдения и проекцирования.

Пространственное (world) преобразование включает описание 3-х мерного пространства состоящего из центра мира – точка с координатами (0; 0; 0) и расположение (смещение, масштабирование и вращение) моделей объектов в этом пространстве.

Вида (view) – включает учет расположения точки зрения наблюдателя – положение, угол.

Наконец, проекционное (projection) преобразование описывает как полученный вид проецируется на плоскую поверхность экрана.

Выделяется, исходя из этото 3 системы отсчета или системы координат – пространственная (world), вида (view), проекционная или экранная (projection). Кроме того, у каждого трехмерного объекта имеется собственная – локальная система координат, в которой центром является геометрический центр объекта, а вершины объекта можно описать относительно данного центра.

Таким образом мы насчитываем 4 системы координат: локальная, глобальная, видовая и проекционная.

В описании трехмерных объектов также используются и такие понятия:

Edge – ребро – внешняя кромка, отрезок каркаса модели, соединяющий две вершины (vertex);

Polygon – многогранник, описывающий грань (Face) или несколько граней.

Таким образом, любая 3D-модель – это локальная система координат, имеющая собственный центр, принимаемый за начало отсчета (0; 0; 0), и набор вершин описываемых относительно данного цента в виде vertex(x; y; z).

 
     
  Каркас куба в 3D-пространстве  
     
  Вершины соединены ребрами и образуют каркас модели. Чтобы модель не была пуста (как на рисунке) на нее натягивается текстура – плоское изображение проецируемое по определенным правилам на грани модели. Примеры моделей Вы можете найти в разделе Галерея моделей. Каждая грань каркасной модели имеет нормаль – перпендикуляр к этой поверхности. Нормали используются для моделирования освещения модели каким-либо источником света (если таковые используются), но в любом случае хотя бы 1 источник света в сцене должен использоваться, иначе просто ничего не увидим (в сценах 3ds max всегда присутствует источник освещения по-умолчанию).  
     
  В окне 3DS MAX принято следующее расположение осей: X – в горизонтальном направлении к плоскости экрана, Z – в вертикальном направлении, Y – вглубь экрана. Хотя всё это - относительно. Если повернуть угол зрения, то это расположение может измениться. На системном уровне DirectX (который использует 3DS MAX для 3D) принято следующее расположение осей - X, Y - привычные нам координаты в плоскости экрана - X - по горизонтали, Y - по вертикали. Z - уходит вглубь экрана.  
     
  Вы также можете узнать о Программировании 3D с использованием DirectX8, 9 в среде Delphi 6,7.  
     
  Но мы двигаемся дальше и рассмотрим первый практический пример.  
     
  [<< предыдущая страница] [следующая страница >>]  
     
подробнее

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

3. Наложение объектов



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







Нет ничего невозможного, вероятно Вы догадались, что всего лишь нужно взять блок floor_front, задать для него правильные масштабные коэффициенты xScale, yScale, поскольку они изменятся, а также по описанной ранее методике задать значение z = 0.76

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

Однако это только звучит "просто", на самом деле Вы столкнетесь с трудностями - блок floor_front сливается с блоком floor и когда он уже вставлен очень сложно увидеть вставлен он или нет. Кроме того, по ошибке можно вставить в одно и то же место несколько блоков, потому что явно Вы не видите сколько их там, пока не станете кликать по этим блокам сцены, до появления диалогового окна их выбора.

Будет сложность и с определением для floor_front координаты z. Если вы забудете отключить опцию Options > Auto Calc Z.

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - шарик поверх песчаных блоков в нижней части сцены

Поэтому я предлагаю другой - более простой и рациональный способ.

Для этого просто создадим новую сцену - File > New

Далее выберем в панели игровых объектов слева объект floor_front, прежде задайте для него правильный масштаб если он отличается от 1.0. Для этого, как вы помните, сначала надо выбрать объект floor_front и принудительно задать нужные значения, т. е. xScale = 1.0, yScale = 1.0

Теперь отключите опцию Options > Auto Calc Z и задайте принудительно z = 0.76

Расставьте блоки в тех местах сцены, где у Вас по задумке будут ямы. Вот так -

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - передняя часть песчаных блоков для ям

Теперь Вы уже не запутаетесь в том, где ставили блок для передней части ямы, а где нет. Вам остается только снова включить опцию Options > Auto Calc Z и теперь уже добавить блоки для задней части ям - используя объект floor.

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - задняя часть песчаных блоков для ям

Ну и вам осталось только добавить блок floor2 в те места сцены, где ям не будет и сцена готова !

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - сцена готова

Сохраняем результат своего труда.

Можете еще взять шарик и поводить по сцене, чтобы убедиться, что он проваливается в ямы при наведении на них. Для шарика должна быть принудительно задана координата z = 0.78, а опция Options > Auto Calc Z должна быть отключена !

Создание новой сцены во fle game engine - в редакторе сцен Scene Editor 1.0.2 - сцена готова - шарик в яме

Для наглядности я добавил в сцену 2 шарика. Вы их можете добавить сколько угодно, но вообще говоря шарик у нас должен быть только 1. Если конечно Вы не измените идею игры так: что при нарастании уровня сложности появляется уже не 1, а больше шариков и игрок должен будет стараться двигать пол так, чтобы в ямы попало как можно больше шариков !

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

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

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

     
  ЛЕТО !  
     
  Лето !  
     
  Просто лето и дорога идущая вдаль ...  
     
 

 

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

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



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


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