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


Вакансии
Игродельня
Сегодня
30 мая 2017
1:48
Вход Регистрация Забыли пароль ?

megainformatic - Game craft - моделируем scv
Game craft - моделируем scv [все уроки game craft] Сначала создадим в нашей 3d сцене образец на который будем ориентироваться при моделировании. Для этого исп
подробнее...

Теги

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

Статьи сайта

megainformatic - Веселый Буквоежка - онлайн комикс - страница 10

megainformatic - Веселый Буквоежка - онлайн комикс - страница 11

megainformatic - Веселый Буквоежка - онлайн комикс - страница 12

megainformatic - Веселый Буквоежка - онлайн комикс - страница 13

megainformatic - Веселый Буквоежка - онлайн комикс - страница 14

megainformatic - Веселый Буквоежка - онлайн комикс - страница 15

megainformatic - Веселый Буквоежка - онлайн комикс - страница 16

megainformatic - Веселый Буквоежка - онлайн комикс - страница 17

megainformatic - Веселый Буквоежка - онлайн комикс - страница 18

megainformatic - Веселый Буквоежка - онлайн комикс - страница 19

megainformatic - Веселый Буквоежка - онлайн комикс - страница 20

megainformatic - Веселый Буквоежка - онлайн комикс - страница 21

megainformatic - Веселый Буквоежка - онлайн комикс - страница 22

megainformatic - Веселый Буквоежка - онлайн комикс - страница 23

megainformatic - Эмулятор ZX-Spectrum, БК-0010.01 и их работа в эмуляторе DosBox 0.74

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 1

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 2

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 3

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 4

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 5

megainformatic - первый независимый онлайн-журнал комиксов ККК Костя Коробкин Комикс номер 1 март 2016

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 6

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 7

megainformatic - Эмулятор БК-0010.01 версия 2.6 для Windows 9x/Me/2000/XP автор Юрий Калмыков 2002 год

megainformatic - api получения готового решения для решения различных задач возникающих при создании сайта

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 8

роман Eternity Вечность - автор Синицин Андрей megainformatic

роман Eternity Вечность - автор Синицин Андрей megainformatic - страница 2

роман Eternity Вечность - автор Синицин Андрей megainformatic - страница 3

роман Eternity Вечность - автор Синицин Андрей megainformatic - Windows Sockets 2, ping, Windows SDK 7, чем открыть hxs файл - страница 4

megainformatic - Размещение Вашей рекламы на нашем сайте

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 9

megainformatic - Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 10

роман Eternity Вечность - автор Синицин Андрей megainformatic - В чём отличие в применении символов & и * в языке c++ ? также продолжаем изучать Windows Sockets 2 и пример simple - страница 5

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 11

megainformatic - игра Шарики на лифте Серия 1 Разгони Лифт / Balls on Lift Level 1 Run The Lift версия 0.9.2 05.10.2016 / version 0.9.2 05.10.2016

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 12

роман Eternity - страница 6 + решение по анимации закрывающихся дверей лифта

megainformatic - Сообщить об ошибке

Balls on Lift Table of Records / Шарики на лифте Таблица рекордов

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 13

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Рисуем шарик / How make the game - series of lessons - draw ball

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Содержание / How make the game - series of lessons - Index

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Разные шарики / How make the game - series of lessons - Different balls

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Анимация прыжков шарика / How make the game - series of lessons - Animation ball jumps

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Создание фона заднего плана / How make the game - series of lessons - Creating background for back plane

Balls on Lift / Шарики на лифте - Как создать игру - серия уроков - Вставка созданной графики, звуков и музыки в игру - Inserting created graphics, sounds and music in the game.

Balls on Lift / Шарики на лифте + Как создать игру - бесплатная игра + комплект уроков о том, как создавать контент для игры - спрайты, фоны, звуки, музыку, и вставить его в игру - How to create a game - free game + package of lessons on how to create content for the game - sprites, backgrounds, sounds, music, and insert it into the game

Balls on Lift / Шарики на лифте + Как создать игру - бесплатная игра + комплект уроков о том, как создавать контент для игры - спрайты, фоны, звуки, музыку, и вставить его в игру - How to create a game - free game + package of lessons on how to create content for the game - sprites, backgrounds, sounds, music, and insert it into the game

Развитие проекта fle game engine

Бинарная философия / Binary Philosofy

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 14

Вакансии

Коллекция php скриптов

megainformatic - Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (kk as) - онлайн комикс - страница 15

megainformatic - Приключения Кости Коробкина - В гостях у тёти Светы часть 1 - интерактивный комикс

     
  Веселый Буквоежка - игра  
     
 

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

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

 
     
  [содержание] [назад] [страница 6] [далее]  
     
  Введение в 2d-игры - анимация и движение героя  
     
  Как нарисовать анимацию подробно описано в статье Рисуем волка из мультфильма  
     
  Как Выглядит анимированный персонаж Вы можете увидеть в деле скачав игру Веселый Буквоежка, либо в утилите Coords2D



Скачать Coords2D -

Размер sfx-архива: 36 Mb. Также содержит много примеров спрайтов и других
изображений из проекта fle, bol и др.

 
     
 

Осталось выяснить:

- как программировать анимированные спрайты;

- как перемещать их по экрану в ответ на действия пользователя;

 
     
  Если взять за основу ПОЛНЫЙ ИСХОДНЫЙ КОД игры, то всё, что связано с анимацией героя Вы найдете в модулях AdventureGame.h и .cpp  
     
  Так, например, метод void CAdventure::Anim(), вызываемый приложением, ответственен за всю анимацию игровой сцены, а метод void CAdventure::Draw() за её отрисовку.  
     
 

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

Последовательно просмотрев методы void CAdventure::Anim() > AnimState > AnimGameProcess

вы увидите вызов функции HeroMoveAnim

- это и есть тот самый метод анимации главного героя.

 
     
 

В ответ на нажатие клавиш стрелок Веселый Буквоежка перемещается по игровой сцене.

Вот кусок кода выполняющий рассчет координат x и y героя

 
     
 

float MoveAngle = 0.0f; // направление движения - задается углом в радианах
int SpriteIndex = 1;
bool Mirrored = false;

// в зависимости от направления движения определяемого нажатой клавишей, задаются // начальные параметры для рассчетов

switch ( m_dwFleHeroMoveState )
{
case FleHeroMoveState_MoveLeft: {
MoveAngle = D3DX_PI;
SpriteIndex = FleHero_MoveLeft;

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveDown: {

MoveAngle = -D3DX_PI * 0.75f;

SpriteIndex = FleHero_MoveRight;
Mirrored = true;

m_bFleHeroLookLeft = true;
break;
}

case FleHeroMoveState_MoveRight: {
MoveAngle = 0.0f;
SpriteIndex = FleHero_MoveRight;

m_bFleHeroLookLeft = false;
break;
}

case FleHeroMoveState_MoveUp: {

MoveAngle = D3DX_PI * 0.25f;

SpriteIndex = FleHero_MoveLeft;
Mirrored = true;

m_bFleHeroLookLeft = false;
break;
}

}

float x_step = 0.0f;
float y_step = 0.0f;

// вычисляем шаг перемещений по x и по y, если нет ограничений движению
x_step = FleHero_MoveSpeedX * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroXPos = m_vFleHeroPos.x;

m_vFleHeroPos.x += x_step * (float)cos(MoveAngle);

if ( m_vFleHeroPos.x <= SceneMoveLimitLeft )

m_vFleHeroPos.x = OldFleHeroXPos;

if ( m_vFleHeroPos.x >= SceneMoveLimitRight )

m_vFleHeroPos.x = OldFleHeroXPos;

g_fFleHeroPos_x = m_vFleHeroPos.x;

y_step = FleHero_MoveSpeedY * g_fElapsedTime * g_fFleHero_MoveSpeed_Decrease;

float OldFleHeroYPos = m_vFleHeroPos.y;

m_vFleHeroPos.y += y_step * (float)sin(MoveAngle);

if ( m_vFleHeroPos.y <= SceneMoveLimitDown )

m_vFleHeroPos.y = OldFleHeroYPos;

if ( m_vFleHeroPos.y >= SceneMoveLimitUp )

m_vFleHeroPos.y = OldFleHeroYPos;



TestHeroCollision();

/* Если препятствие слева и герой пытается идти в этом же направлении -
запрет движения
*/

if ( m_CollSide.fromRight && m_dwFleHeroMoveState == FleHeroMoveState_MoveRight )
{
m_vFleHeroPos.x = m_v2FleHeroPosBeforeCollision.x;
g_fFleHeroPos_x = m_vFleHeroPos.x;
x_step = 0.0f;
}
else {
if ( m_CollSide.fromLeft && m_dwFleHeroMoveState == FleHeroMoveState_MoveLeft )
{
m_vFleHeroPos.x = m_v2FleHeroPosBeforeCollision.x;
g_fFleHeroPos_x = m_vFleHeroPos.x;
x_step = 0.0f;
}
}

if ( m_CollSide.fromTop && m_dwFleHeroMoveState == FleHeroMoveState_MoveUp )
{
m_vFleHeroPos.y = m_v2FleHeroPosBeforeCollision.y;
y_step = 0.0f;
}
else {
if ( m_CollSide.fromBottom && m_dwFleHeroMoveState == FleHeroMoveState_MoveDown )
{
m_vFleHeroPos.y = m_v2FleHeroPosBeforeCollision.y;
y_step = 0.0f;
}
}


/*
Если сцена закрыта - запрет движения
*/


m_pGameSceneDataFile->m_fHeroXPosInLocation = g_fHorizontalScrollOffset;
m_pGameSceneDataFile->CalcCurrentSceneNumber();
if ( !CanEnterScene() )
{
x_step = 0.0f;
}


LPD3D9SPRITE spr = GetGameSprite( SpriteIndex, m_pTexArray );

//перемещение по Z сопряжено с перемещениями по Y
m_vFleHeroPos.z = CalcFleHeroZ(m_vFleHeroPos.y + FleHero_YCorrectorForZ,
spr->m_Scale.y, spr->Height);

if ( x_step != 0.0f || y_step != 0.0f )
{
CalcFleHeroScrPos2(Mirrored);

//для учета в других анимациях
m_bFleHeroXMirrored = Mirrored;
}

AnimGameSprite(SpriteIndex, -1, m_pTexArray);

 
     
 

Собственно рисование анимированного персонажа выглядит намного проще -

void CAdventure::DrawStateOfHero()
{

switch ( m_dwFleHeroMoveState )
{

case FleHeroMoveState_MoveLeft: {
DrawFleHero(FleHero_MoveLeft);
break;
}

case FleHeroMoveState_MoveDown: {

DrawFleHeroXMirror(FleHero_MoveRight);
break;
}

case FleHeroMoveState_MoveRight: {
DrawFleHero(FleHero_MoveRight);
break;
}

case FleHeroMoveState_MoveUp: {

DrawFleHeroXMirror(FleHero_MoveLeft);
break;
}

}

}

 
     
  Вопросы связанные со скроллингом игровой сцены, столкновениями, атаками героя, выбором и использованием игровых предметов и многие другие нюансы уже также решены и Вам не нужно ломать над ними голову - достаточно заказать ПОЛНЫЙ ИСХОДНЫЙ КОД игры Веселый Буквоежка  
     
     
  Если у Вас всё же остались вопросы - не стесняйтесь задавать их на форуме или по e-mail.  
     
  [содержание] [назад] [страница 6] [далее]  
     
 

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



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


визиты
сегодня: 165
всего: 19206
посетители
сегодня: 52
всего: 20962
Время загрузки: 0,0670