📄 scene.cpp
字号:
// Scene.cpp: implementation of the CScene class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Scene.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CScene::CScene()
{
m_nCurrentScene = SCENE_UNKNOWN;
m_pFonts = NULL;
m_pForeTex = NULL;
m_pBackTex = NULL;
m_nMax = 0;
}
CScene::~CScene()
{
if(m_pBackTex)
SAFE_RELEASE(m_pBackTex->pTex);
if(m_pForeTex)
SAFE_RELEASE(m_pForeTex->pTex);
if(m_pFonts)
SAFE_DELETE(m_pFonts);
}
//----------------------------------------------------------------------------
// L o a d i n g
//----------------------------------------------------------------------------
BOOL CScene::CreateLoading(char *strBackImage, DWORD dwBX, DWORD dwBY,
char *strForeImage, DWORD dwFX, DWORD dwFY,DWORD nMax)
{
DWORD Time = timeGetTime();
m_pBackTex = new SPRITE_TEXTURE;
m_pForeTex = new SPRITE_TEXTURE;
g_pApp->GetDrawEx()->LoadImageFile(strBackImage,m_pBackTex);
g_pApp->GetDrawEx()->LoadImageFile(strForeImage,m_pForeTex);
DWORD LastTime = timeGetTime() - Time;
m_nMax = nMax;
m_nCur = 0;
m_dwFX = dwFX;
m_dwFY = dwFY;
m_dwBX = dwBX;
m_dwBY = dwBY;
m_dwPer= 0;
g_pApp->GetD3dDevice()->BeginScene();
g_pApp->GetDrawEx()->DrawSpriteEx(*m_pBackTex, m_dwBX, m_dwBY);
g_pApp->GetDrawEx()->DrawSpriteEx(*m_pForeTex, m_dwFX, m_dwFY,0); // 贸澜俊绰 钎矫 救秦淋
g_pApp->GetD3dDevice()->EndScene();
g_pApp->GetD3dDevice()->Present(NULL,NULL,NULL,NULL);
return true;
}
BOOL CScene::LoadingText(char *strFileName, DWORD dwX, DWORD dwY, DWORD dwColor,
DWORD dwHeight, bool bItalic, BOOL bBold)
{
if(0==m_nMax) return false;
if(this == NULL) return false;
if(!m_pFonts)
{
m_pFonts = new CMcFonts;
m_pFonts->CreateMCFont(g_pApp->GetD3dDevice(),dwHeight,0,bItalic,TEXT("奔覆眉"));
}
g_pApp->GetD3dDevice()->BeginScene();
// 茄锅 歹 弊妨淋~ 弊贰具 傈俊 敬 臂磊啊 瘤况柳促.
if(m_pBackTex) g_pApp->GetDrawEx()->DrawSpriteEx(*m_pBackTex, m_dwBX, m_dwBY);
if(m_pForeTex) g_pApp->GetDrawEx()->DrawSpriteEx(*m_pForeTex, m_dwFX, m_dwFY, 0, m_dwPer);
if(bBold) m_pFonts->DrawText_Bold(strFileName,dwX,dwY,0,0,DT_LEFT,dwColor);
else m_pFonts->DrawText(strFileName,dwX,dwY,0,0,DT_LEFT,dwColor);
g_pApp->GetD3dDevice()->EndScene();
g_pApp->GetD3dDevice()->Present(NULL,NULL,NULL,NULL);
return true;
}
BOOL CScene::LoadingProgress(short nCurrent)
{
if(0==m_nMax) return false;
m_nCur = nCurrent;
DWORD dwPer = ((m_nCur * 100) / m_nMax);
// 抗) 50% * 80 / 100 = 弥辆蔼
m_dwPer = (dwPer * 1000) / 100;
g_pApp->GetD3dDevice()->BeginScene();
if(m_pForeTex) g_pApp->GetDrawEx()->DrawSpriteEx(*m_pForeTex,m_dwFX,m_dwFY,255,m_dwPer);
g_pApp->GetD3dDevice()->EndScene();
g_pApp->GetD3dDevice()->Present(NULL,NULL,NULL,NULL);
// 肺爹捞 场车促搁
if( m_nCur == m_nMax )
{
SAFE_DELETE(m_pBackTex);
SAFE_DELETE(m_pForeTex);
SAFE_DELETE(m_pFonts);
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -