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


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

megainformatic - Уроки Photoshop - Чудеса
             
подробнее...

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

megainformatic - Рисование фона (урок 6 часть 2)

megainformatic - Рельефные изображения

Добавление статей на сайт под управлением megainformatic cms express

megainformatic - Воспроизведение файлов в форматах it, xm, s3m, mod

megainformatic - Воспроизведение файлов в форматах it, xm, s3m, mod - страница 2

megainformatic - Воспроизведение в игре музыки в формате XM

megainformatic - Воспроизведение файлов в формате OGG Vorbis

megainformatic - игра "Веселый Буквоежка" - инструменты разработки

megainformatic - Игра "Веселый Буквоежка" - история создания проекта

megainformatic - Как анимировать паука ?

megainformatic - Уроки Photoshop

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Рисуем и Анимируем

megainformatic - Эмулятор игры Ну, Погоди!

сайт megainformatic - Говорящий Комикс Веселый Буквоежка

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Моделируем девушку в 3d используя 3ds max

megainformatic - Уроки Fruity Loops Studio - пишем свою музыку

megainformatic - Уроки Fruity Loops Studio - пишем свою музыку - урок 1 - Быстрый старт

megainformatic - Сброник статей по дизайну и компьютерной графике. Обзор.

megainformatic - Уроки 3d на delphi directx - Вывод Заставки

Добро пожаловать в систему управления сайтом megainformatic cms

megainformatic - Создание эскиза и макета страницы сайта

megainformatic - Верстка созданного макета

megainformatic - Добавление модулей обеспечивающих минимально необходимый функционал

megainformatic - Основы добавления контента на сайт, управления и поддержки сайта

megainformatic - Проверка работы сайта, установка на хостинг

megainformatic - Основы продвижения созданного сайта

megainformatic - Создание шаблонов

megainformatic - Создание интернет-магазина

megainformatic - Музыкальные миры - композиция Морозное утро - 10 версий

ЛЕТО

megainformatic - Нечто Необъяснимое - пре релиз

megainformatic cms admin

megainformatic cms admin

megainformatic - Основы создания 3d игр - проект Тайны Морских Глубин

megainformatic - уроки delphi directx 8.1 3d - Основы Вращений и Управления камерой

megainformatic cms seo

megainformatic cms admin

megainformatic - Моделируем девушку в 3d - Подготовка 2d-эскиза тела человека

megainformatic cms stat kit

megainformatic cms seo

megainformatic - Теория и практика 3d игр - О Кватернионах

megainformatic - Теория и практика 3d игр - Основы теории векторов

megainformatic - Теория и практика 3d игр - Важные замечания

megainformatic - Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

megainformatic - Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

megainformatic - Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

megainformatic - Подводная лодка и подводный мир

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic - megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

подробнее

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

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

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

игра Веселый Буквоежка - вверху мы видим игровую панель и несколько индикаторов

На данном скриншоте видно в левом верхнем углу небольшая зеленая панелька, на которой есть иконки "ГЛАЗ" и "МЕНЮ". В игре эти кнопки выполняют какие-либо действия, например, "ГЛАЗ" может скрывать все панели и снова отображать их, а "МЕНЮ" позволяет выйти в ГЛАВНОЕ МЕНЮ игры.

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

Здесь же мы видим целый ряд игровых индикаторов - "жизненная сила", "карман" (в нём на скриншоте находится лопата), "магическая энергия" (показано значение 400), отсчёт игрового времени (0:13:35), "бодрость".

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

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

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

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

Для начала нам понадобится минимально необходимый код для создания игрового 2d приложения на базе directx 9c.

[downloads:30]

Данное приложение (min_2d_game_app) представляет собой набор .h и .cpp модулей, собранных в проект MSVS 2005, пригодный для сборки с DX SDK Aug 2008. Все необходимые исходные файлы прилагаются.

Вы можете скачать данный проект себе, распаковать и попробовать запустить файл Coords2D.exe расположенный в min_2d_game_app\Coords2D\Coords2D\Coords2D\

Для самостоятельной сборки проекта и экспериментов с кодом вам понадобится среда разработки MSVS 2005 или выше, а также DX SDK Aug 2008.

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

приложение Coords2D в действии - min_2d_game_app - минимально необходимый код для создания игрового 2d приложения на базе directx 9c Суть решения заключается в следующих шагах:

1) Открыть проект Coords2D из папки min_2d_game_app в среде MSVS 2005;

2) Разместить файл изображения индикатора в папке min_2d_game_app\Coords2D\Coords2D\Coords2D\Media\textures\indicator\

3) Добавить данный файл + его параметры в список загружаемых - для этого открыть текстовый файл

min_2d_game_app\Coords2D\Coords2D\Coords2D\Media\textures\tex_list.txt

и в самое начало файла добавить строчку -

indicator\live_power_end.tga; -1.0f; 0.54f; 0.7f; 1.0f; -1.0f; 68; 128; 0; 0; 1; 0.0f; 0.0f;

Назначение параметров вы можете узнать из readme.txt который входит в состав min_2d_game_app (описание к утилите Coords2D).

4) Открыть модуль Coords2D.cpp и в нём найти метод void CD3DGameApp::AnimSprites()

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

Самым первым из них будет объект индикатора (при условии что вы выполнили шаг 3), тогда будет корректным использовать такой код -

void CD3DGameApp::AnimSprites()

{

if ( SpritesArray == NULL )

return;



if ( SpritesArray->GetCount() == 0 )

return;



for ( int i = 0; i < SpritesArray->GetCount(); i++ )

{



/* получаем объект спрайта - для того чтобы проверить не является ли он

индикатором жизненной силы - т. е. объект с индексом 0 в массиве */

CD3D9Sprite* Sprite = (CD3D9Sprite*)SpritesArray->GetAt(i);

if ( i == 0 ) //проверяем какой сейчас был выбран элемент из массива

{



/* если был выбран 0 элемент - значит это спрайт индикатора - выставляем его высоту

в зависимости от координаты y указателя мыши */

Sprite->Height = (int)(g_d3dApp.m_CursorPos.y * 200.0f);



}



AnimateSprite(i, m_fElapsedTime);





}



}



Поскольку указатель мыши имеет координатное пространство для оси Y от 1.0 до -1.0, то мы умножаем значение на 200.0f (float), а затем приводим к типу int, т. к. высота Height у спрайта должна быть целым числом.

Теперь высота индикатора в вашем d3d-приложении будет меняться при перемещении указателя мыши по оси Y.

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

Как видите вывод индикатора в игре не представляет теперь для Вас особой сложности.

Самое главное придумать при каких условиях и каким образом он будет изменяться. Например в игре ВЕСЕЛЫЙ БУКВОЕЖКА индикатор жизненной силы угасает при столкновении с пауками. А если жизненная сила достигнет 0 значения, игра завершается как проигранная.

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

подробнее

Костя Коробкин - Компания Зергов (kk kz) - онлайн комикс - страница 1

Онлайн-комикс Костя Коробкин - Компания Зергов - интерактивный комикс (kk kz).

Все начиналось как обычно. Мы въехали в город.

Костя Коробкин - Компания Зергов (kk kz) - онлайн комикс - страница 1

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

[страница 1] [страница 2] 

подробнее

     
  Другие уроки можно посмотреть в разделе Статьи  
     
 

Небольшой урок по php - Использование checkbox

казалось бы - что может быть проще - обычный checkbox - - но оказывается надо учитывать несколько особенностей для корректной работы с этим элементом управления на ваших Web-страничках

 
     
  Создадим файл checkbox.php и вставим в него такой код -  
     
  <HTML>
<HEAD>
<TITLE>Просмотр списка статей</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</HEAD>
<BODY>

<div style="width: 990px; margin: 0 auto; background: #777777;">
<div style="width: 900px; margin: 0 auto; background: #aaaaaa;">

<?php

/* Особенность работы checkbox'а

если чекбокс установлен - при отправке данных формы передается его значение value
если чекбокс не установлен - при отправке данных формы не передается ничего !!!

*/

echo "Флажок ";
$published = 1;
$checked = '';

if ( $_POST['published-1'] == 1 )
{
$checked = 'checked = "checked"';
//$published = 1;
echo "установлен";
}
else {
$checked = '';
//$published = 0;
echo "сброшен";
}


$num = 1;

echo "<form name='save_changes' action = 'checkbox.php' method = 'POST'>";
echo "<input type=\"checkbox\" ".$checked." name=\"published-".$num."\" value=\"".$published."\">";
echo "<input type = 'submit' value = 'Сохранить изменения'>
</form>";


?>
</div>
</div>

</BODY>
</HTML>

 
     
  Если Вы совсем не курсе где и как должны выполняться php файлы том вам нужно ознакомиться со статьей - Введение в php  
     
  Рассмотрим что делает данный код  
     
 

echo "Флажок ";
$published = 1;
$checked = '';

Эти три строчки выводят надпись Флажок, а также создают 2 новые переменные со значениями 1 и '' - т. е. пустая строка

if ( $_POST['published-1'] == 1 )

 
     
 

Проверяем было ли отправлено в форму методом пост поле published-1 со значением равным 1,

если да -

$checked = 'checked = "checked"';
//$published = 1;
echo "установлен";

Переменную $checked заполняем строкой представляющей атрибут checked для чекбокса при котором чекбокс на странице будет выведен как помеченный галочкой.

Также выводим фразу - установлен - будет понятно что флажок был установлен

иначе -

else {
$checked = '';
//$published = 0;
echo "сброшен";

атрибут checked не задаем, выводим фразу - сброшен

 
     
 

$num = 1;

эта переменная будет задавать часть имени нашего чекбокса

 
     
 

echo "<form name='save_changes' action = 'checkbox.php' method = 'POST'>";
echo "<input type=\"checkbox\" ".$checked." name=\"published-".$num."\" value=\"".$published."\">";
echo "<input type = 'submit' value = 'Сохранить изменения'>
</form>";

выводим форму, которая выводит чекбокс с атрибутом checked заданным в переменной $checked, именем состоящим из слова published тире - и переменной $num и значением value которое подставляется из переменной $published,
также выводим кнопку сохранить изменения

 
     
 

Это чудо работает таким образом - если зададим состояние чекбокса и нажмём кнопку <Сохранить изменения>, то фраза Флажок установлен или сброшен - будет показывать состояние чекбокса.

Но вот само состояние чекбокса надо выставлять через созданную нами переменную $checked

как видите после нажатий кнопки <Сохранить изменения> чекбокс своё состояние теряет, а должен сохранять.

Как это исправить ?

Легко - находим самую первую строчку начала php кода -

echo "Флажок ";
$published = 1;
$checked = '';

и закомментируем строку

//$checked = '';

после проверки выясняем, что теперь чекбокс сохраняет своё состояние :)

Работающий пример на php смотрите тут - checkbox.php

ВОТ и ВСЁ на сегодня. Ждите новых уроков.

 
     
  Другие уроки можно посмотреть в разделе Статьи  
     
подробнее

Ваша реферальная ссылка



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

Реферальная ссылка может выглядеть как угодно, главное чтобы в ней
присутствовал параметр rid=

примеры -
http://megainformatic.ru/?rid=5
http://megainformatic.ru/after_buy.php?pid=46&rid=5

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

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

Основные наши проекты



1. создание сайтов и веб-приложений используя собственные
наработки и решения Проекты.

2. развитие платформы fle game engine -
движок для создания игр fle game engine
и создание проектов на ней - Balls and Holes игра.

3. А также все проекты представленные на главной

главная - подстраница 542

и на других страницах сайта.

С полным списком проектов можно ознакомиться на карте сайта.

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

13. Скроллинг больших локаций



read paper in english

В данном уроке мы проведем своего рода быстрый старт - это введение в создание игр в среде fle game engine.





Содержание

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







При создании игровых сцен представленных более чем одним игровым экраном возникает ряд вопросов:

1) Как создать сцену из нескольких игровых экранов ?

2) Как скроллить, т. е. перемещать созданный набор сцен ? Мы его будем называть условно: локацией. Локация это уже несколько сцен представляющих одно логическое целое.

3) Что нужно учитывать в коде при создании игры содержащей локации ?

Цель данной статьи - разъяснить как они решаются во fle game engine.

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







А именно: мы возьмем самый простой случай - игровую локацию составленную всего из 3 игровых экранов. Другими словами она будет включать всего 3 игровых сцены, объединенных в единую локацию.

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

Итак, для выполнения поставленных задач нам понадобится исходный код примера игры simple game.

Сначала мы проделаем следующее:

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





- из 3х одинаковых сцен создать локацию:

В статье игра "Веселый Буквоежка" - инструменты разработки

Сказано следующее:

Сборщик локаций

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



Вот пример такого файла:

begin6.scn
begin4.scn
begin2.scn
begin0.scn
begin1.scn
begin3.scn
begin5.scn

Исходя из данного файла в локации сцены будут появляться слева - направо в таком порядке: 6-4-2-0-1-3-5

Количество сцен всегда должно быть 2*n+1, где n - число от 0 до бесконечности.

Т. е. 1, 3, 5, 7, 9 и т.д.

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

Следовательно, если Вы всё поняли, берем файл

simple_game\Media\textures\environment\scenes\simple_game\scenes_list.txt

И вместо имеющейся в нём 1 строки -

scene_1.scn

создаем 3 -

scene_2.scn
scene_0.scn
scene_1.scn

файлы

scene_2.scn
scene_0.scn

это просто переименованные копии файла
scene_1.scn

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



- загрузим её:

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

в модуле start.cpp

строкой кода

m_pGameSceneDataFile->LoadLocation(SimpleGameLocation, SimpleGameScenesPath);



- разберемся с тем, как её можно перемещать:

На самом деле опять-таки, изменений в коде делать не потребуется, всё уже реализовано и прекрасно работает !

Вы это можете увидеть на показанном выше видео.

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

Во-первых нужно в методе

CD3DGameApp::ChangeGameCursorPos

модуля start.cpp

Внести такие небольшие изменения:

if ( cursor_at_window_x < cursor_spr_left_limit )
{
//cursor_at_window_x = cursor_spr_left_limit;
}

if ( cursor_at_window_x > cursor_spr_right_limit )
{
//cursor_at_window_x = cursor_spr_right_limit;
}

Тем самым мы снимаем ограничения на перемещения и они становятся намного заметнее.

Далее, поскольку, если Вы помните, в примере simple game, часть экрана закрыта обложкой и сцена видна только через прорезь в этой обложке, то нужно просто сделать всю обложку прозрачной.

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

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

Во-вторых, в методе

CD3DGameApp::ChangeGameCursorPos

модуля start.cpp

Нужно сделать еще одно небольшое изменение:

//g_fHorizontalScrollOffset = vPos.x; //было
g_fHorizontalScrollOffset = vPos.x * 2.0f; //так еще нагляднее потому что видны края всей локации при перемещениях мыши.


Ну и конечно, в редакторе Scene Editor можно каждую из сцен сделать индивидуальной.

Например я, добавил по правому краю 2 сцены и по левому 0 сцены - столбик из красных блоков. И в видео показаном выше видно как 2 и 0 сцены соприкасаются друг с другом.

А вот сцена 1 никаких отличий не имеет, поэтому заметить как она из 0 переходит в 1 можно только по похожему расположению ям.

Теперь Вы знаете как делать большие локации в играх на fle game engine !

Небольшое дополнение: в примере simple game управление реализовано от мыши. Но при желании Вы легко можете сделать его и от клавиатуры - т. е. чтобы шарик или игровая сцена были перемещаемы не от перемещений мыши, а, например, по нажатию клавиш стрелок управления курсором влево, вправо, вверх, вниз или a, d, w, s либо каких-то еще клавиш, которые Вам нравятся.

О перемещениях игровой сцены и шарика было рассказано в наших предыдущих статьях (см. Содержание выше статья страница 7 - Перемещения игровой сцены).

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

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

И еще напоследок один совет: в дальнейшем, при создании своих игр постарайтесь всегда начинать с какой-то простой заготовки - основы, и потом уже постепенно нанизывать на неё дополнительные возможности. Поверьте - создавать игру из готовых кирпичиков гораздо проще и удобнее, нежели писать всё в едином большом модуле. Поэтому старайтесь всегда сложные задачи разбивать на кусочки и реализовывать в виде отдельных независимых (по-возможности) друг от друга модулей.

А если модули должны как-то между собой взаимодействовать ?

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





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

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

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



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


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