6 -
read paper in english
- Scene Editor fge .
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 -
, -
simple_game\SceneEditor\Media\textures\environment\desc\scene_editor_types.txt
none; 0;
ai_player; 1;
floor; 2;
test; 3;
simple_game\SceneEditor\Media\textures\environment\desc\scene_editor_texlist.txt
ball; ai_player; ai_player\jump.tga; 64; 128; 0; 0; 4; 8.0f; 14.0f;
floor; floor; floor\floor.jpg; 101; 101; 0; 0; 1; 0.0f; 0.0f;
floor_front; floor; floor\floor_front2.tga; 101; 101; 0; 0; 1; 0.0f; 0.0f;
floor2; floor; floor\floor2.jpg; 101; 101; 0; 0; 1; 0.0f; 0.0f;
, , !
- 3 -
simple_game\SceneEditor\Media\textures\environment\
simple_game
simple_game\simple_game\Media\textures\
simple_game\SceneEditor\scenes\simple_game\
, scene_3.SCN,
simple_game\SceneEditor\Media\textures\environment\scenes\
. .
simple_game\SceneEditor\Media\textures\environment\scenes\simple_game\scene_1.SCN
scene_1.SCN, , ( )
simple_game.
, .
, -
GameSceneFile . . 2 -
GameSceneFile.h GameSceneFile.cpp .
start.h
#include "d_input.h"
-
#include "GameSceneFile.h"
CD3DGameApp
bool m_bShowScreenOptionsBtn;
-
CGameSceneDataFile* m_pGameSceneDataFile;
.
GameSceneFile , 2 -
GameSceneFile.h GameSceneFile.cpp.
GameSceneFile.h - - , ,
GameSceneFile.cpp c++.
start.cpp
1)
#include "game_sprite.h" //
#define SimpleGameLocation L"\\Media\\textures\\environment\\scenes\\simple_game\\scenes_list.txt" //
#define SimpleGameScenesPath L"\\Media\\textures\\environment\\scenes\\simple_game\\" //
scenes_list.txt
simple_game\simple_game\Media\textures\environment\scenes\simple_game\
-
scene_1.scn
, !!
, ,
start.cpp
2)
-
CD3DGameApp::CD3DGameApp
CD3DGameApp::CD3DGameApp()
{
//...
m_pSprite = NULL;
} //
//
void CD3DGameApp::LoadGameScene()
{
//
m_pGameSceneDataFile = new CGameSceneDataFile();
m_pGameSceneDataFile->PreLoadGameTextures();
m_pGameSceneDataFile->LoadLocation(SimpleGameLocation, SimpleGameScenesPath);
//
ScrollGameSceneLeftLimit = -m_pGameSceneDataFile->m_fLocationHScrollLimit;
ScrollGameSceneRightLimit = m_pGameSceneDataFile->m_fLocationHScrollLimit;
// ,
g_fScrollGameSceneLeftLimit = ScrollGameSceneLeftLimit;
g_fScrollGameSceneRightLimit = ScrollGameSceneRightLimit;
// ,
//LoadGameObjProperties(GameObjectPropertyValue); // ,
}
start.h
class CD3DGameApp
bool m_bShowScreenOptionsBtn;
-
//
CGameSceneDataFile* m_pGameSceneDataFile;
void LoadGameScene();
//void AfterLoadRestoreLocTextures(); //, . .
void MovePlayer(int NewMoveState);
void ScrollGameScene();
int m_iOldCurrSceneNum;
int m_iOldCurrSceneInx;
D3DXVECTOR3 m_vFleHeroPos;
void SetHeroLocationPos(DWORD CurrMoveState, LPD3DXVECTOR2 p_v2Pos,
float LocationXOffset);
void AnimGameProcess();
void DrawGameProcess();
bool CanEnterScene();
void LoadGameDataBlock();
}; // , - CD3DGameApp
start.cpp
CD3DGameApp::CreateDeviceObjects
-
g_Snow.Load();
-
LoadGameScene();
LoadGameSceneTextures(m_pGameSceneDataFile->m_pTexArray,
EnvironmentTexturesPath, TextureFilesList, m_pGameSceneDataFile->m_pSprite);
CD3DGameApp::RestoreDisplayObjects
if ( m_pGameSceneDataFile )
m_pGameSceneDataFile->RestoreGameSceneObjects();
CD3DGameApp::InvalidateDisplayObjects
if ( m_pGameSceneDataFile )
m_pGameSceneDataFile->InvalidateGameSceneObjects();
CD3DGameApp::DestroyDisplayObjects
m_pGameSceneDataFile->FreeGameTextures();
SAFE_DELETE(m_pGameSceneDataFile);
, , -
void CD3DGameApp::MovePlayer(int NewMoveState)
{
/*
-
*/
m_pGameSceneDataFile->m_fHeroXPosInLocation = g_fHorizontalScrollOffset;
m_pGameSceneDataFile->CalcCurrentSceneNumber();
//if ( !CanEnterScene() )
//{
//x_step = 0.0f;
//}
}
//=============================================
//
//
//
//=============================================
void CD3DGameApp::ScrollGameScene()
{
// ,
if ( m_iOldCurrSceneInx != m_pGameSceneDataFile->m_iCurrentSceneIndex )
{
m_iOldCurrSceneInx = m_pGameSceneDataFile->m_iCurrentSceneIndex;
m_iOldCurrSceneNum = m_pGameSceneDataFile->m_iCurrentSceneNumber;
g_iCurrentSceneNumber = m_pGameSceneDataFile->m_iCurrentSceneNumber;
}
m_pGameSceneDataFile->ScrollLocation( &D3DXVECTOR2(
g_fHorizontalScrollOffset + m_vFleHeroPos.x,
g_fVerticalScrollOffset ), g_fHorizontalScrollOffset);
}
//
void CD3DGameApp::SetHeroLocationPos(DWORD CurrMoveState, LPD3DXVECTOR2 p_v2Pos,
float LocationXOffset)
{
m_vFleHeroPos = D3DXVECTOR3(p_v2Pos->x, p_v2Pos->y, 0.8f);
g_fHorizontalScrollOffset = LocationXOffset;
m_pGameSceneDataFile->m_SceneScrollPoint.x = g_fHorizontalScrollOffset;
ScrollGameScene();
}
void CD3DGameApp::AnimGameProcess()
{
m_pGameSceneDataFile->AnimateGameScene(g_fElapsedTime);
m_pGameSceneDataFile->AnimLocation();
MovePlayer(0);
}
void CD3DGameApp::DrawGameProcess()
{
m_pGameSceneDataFile->DrawGameSceneView();
m_pGameSceneDataFile->DrawLocation();
}
bool CD3DGameApp::CanEnterScene()
{
return true; //test
}
void CD3DGameApp::LoadGameDataBlock()
{
m_pGameSceneDataFile->m_SceneScrollPoint.x = g_fHorizontalScrollOffset;
if ( g_fHorizontalScrollOffset != 0.0f )
ScrollGameScene();
}
AnimGameProcess();
DrawGameProcess();
,
CD3DGameApp::FrameMove
g_AI_Ball_Sprite.Anim(); //
AnimGameProcess();//
CD3DGameApp::Render
case APPSTATE_READY: //
DrawGameProcess();//
, MSVS 2005. ,
Scene Editor fge .
fle game engine.
,
, .
fle game engine -
:
800
.
Scene Editor fge 1.0.2 ( ) : , , . .
.
Microsoft Visual Studio 2005
DirectX SDK August 2008
https://www.microsoft.com/en-us/download/details.aspx?id=23549
Details
Version:
9.27.1734
File Name:
DXSDK_Aug09.exe
Date Published:
9/8/2009
File Size:
553.3 MB
:
MSVS 2005
Solution Explorer start -
Properties
start Property Pages
Configuration properties > C/C++ > General
Additional Include Directories
..\..\..\..\..\..\..\Include
Include, DirectX SDK August 2008.
. . ..\..\..\..\..\..\..\Include
-
-
C:\DXSDK9_Aug2008\Include
-
-
..\..\..\..\..\..\..\..\..\Include
Debug - Configuration Debug.
Do you want to save changes you've made in the property pages ?
- Yes.
Configuration properties > Linker > General
Additional Library Directories
..\..\..\..\..\..\..\Lib\x86
DXSDK9_Aug2008
-,
C:\DXSDK9_Aug2008\Lib\x86
- simple_game.
-
..\..\..\..\..\..\..\..\..\Lib\x86
Debug .
Configuration Debug.
Do you want to save changes you've made in the property pages ?
- Yes.
. .
Debug Release
- MSVS 2005 .
Build > Clean Solution - .
Build > Rebuild Solution.
,
simple_game\simple_game\
start.exe, .
[] []