📄 cgameframe.cpp
字号:
#include "stdafx.h"
//-------------------------------------------------
//desc: 构造
//-------------------------------------------------
CGameFrame::CGameFrame( void )
:m_pGameLogin( NULL )
,m_pLogo( NULL )
,m_pGameContent( NULL )
,m_pLoading( NULL )
,m_pGameOver( NULL )
{
//获取图形系统接口
m_pRS = (IRenderSystem*) FOXRENDERSYSTEM::CreateInstance( CLD_IRENDERSYSTEM );
m_pResMgr = (IResManage*) FOXRENDERSYSTEM::CreateInstance( CLD_IRESMANAGE );
m_pCamera = (ICamera*) FOXRENDERSYSTEM::CreateInstance( CLD_ICAMERA );
m_pGuiMgr = (IGuiManage*) FOXRENDERSYSTEM::CreateInstance( CLD_IGUIMANAGE );
m_pFontMgr = (IFontManage*) FOXRENDERSYSTEM::CreateInstance( CLD_IFONTMANAGE );
//获取声音系统接口
m_pCDMgr = (ICDManage*) FOXMEDIASYSTEM::CreateInstance( CLD_ICDMANAGE );
m_pSoundMgr = (ISoundManage*) FOXMEDIASYSTEM::CreateInstance( CLD_ISOUNDMANAGE );
}
//-------------------------------------------------
//desc: 析构
//-------------------------------------------------
CGameFrame::~CGameFrame( void )
{
//结束系统
this->ShutDown();
}
//-------------------------------------------------
//desc: 引擎初始化
//-------------------------------------------------
bool CGameFrame::InitEngine( HWND a_hWnd )
{
//渲染系统初始化
if( !m_pRS->InitSystem( a_hWnd ) )
{
return false;
}
//字体管理初始化
//if( !m_pFontMgr->Init() )
{
//return false;
}
return true;
}
//-------------------------------------------------
//desc: 游戏初始化
//-------------------------------------------------
bool CGameFrame::InitGame( void )
{
//LOGO场景创建
m_pLogo = new CLogo;
//读取LOADING
m_pLoading = m_pResMgr->CreateSprite( "loading.spr","SprRes/SprRes.pack" );
m_pEnd = m_pResMgr->CreateSprite( "end.spr","SprRes/SprRes.pack" );
return true;
}
//-------------------------------------------------
//desc: 销毁
//-------------------------------------------------
bool CGameFrame::ShutDown( void )
{
//释放资源
SafeRelease( m_pLoading );
SafeRelease( m_pEnd );
//释放场景
SafeDelete( m_pLogo );
SafeDelete( m_pGameLogin );
SafeDelete( m_pGameContent );
SafeDelete( m_pGameOver );
//释放接口
SafeRelease( m_pRS );
SafeRelease( m_pResMgr );
SafeRelease( m_pCamera );
SafeRelease( m_pGuiMgr );
SafeRelease( m_pFontMgr );
SafeRelease( m_pCDMgr );
SafeRelease( m_pSoundMgr );
return true;
}
//-------------------------------------------------
//desc: 消息发送
//-------------------------------------------------
void CGameFrame::PostMessage( DWORD a_dwMsg,char a_chWORD )
{
//消息发送
if( m_pLogo != NULL )
{
m_pLogo->PostMessage( a_dwMsg,a_chWORD );
}
if( m_pGameLogin != NULL )
{
m_pGameLogin->PostMessage( a_dwMsg,a_chWORD );
}
if( m_pGameContent != NULL )
{
m_pGameContent->PostMessage( a_dwMsg,a_chWORD );
}
if( m_pGameOver != NULL )
{
m_pGameOver->PostMessage( a_dwMsg,a_chWORD );
}
}
//-------------------------------------------------
//desc: 逻辑更新
//-------------------------------------------------
bool CGameFrame::Update( void )
{
//进入第一个场景
if( m_pLogo->Updata() == false )
{
//释放场景
SafeDelete( m_pLogo );
return false;
}
else
{
//释放场景
SafeDelete( m_pLogo );
}
//绘制LOADING
m_pRS->BeginScene();
m_pLoading->SetPostion( 165,203 );
m_pLoading->Draw( true );
m_pRS->EndScene();
//创建选择场景
m_pGameLogin = new CGameLogin;
m_pGameContent = new CGameContent;
m_pGameOver = new CGameOver;
//进入第入登陆场景
if( m_pGameLogin->Updata() == false )
{
return false;
}
//进入游戏循环
while(1)
{
//进入游戏主场景
if( m_pGameContent->Updata() == false )
{
return true;
}
//游戏GAMEOVER场景
if( m_pGameOver->Updata() == false )
{
return true;
}
}
return true;
}
void CGameFrame::RenderEnd( void )
{
//绘制END
m_pRS->BeginScene();
m_pEnd->SetPostion( 165,203 );
m_pEnd->Draw( true );
m_pRS->EndScene();
Sleep(1500);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -