資源簡介
基于DirectX的簡單GUI界面制作,采用Visual Studio 2012工具,需配置DirectX9.0用戶環(huán)境方能成功運行。
代碼片段和文件信息
/*--------------------------------------------------------------
【Cpp文件】:GUIClass.cpp???????Created?by?Beyond?Ray2014年2月
(描述):一個封裝了控件對象的類和控件處理函數(shù)的實現(xiàn)
----------------------------------------------------------------*/
#include“GUIClass.h“
//-------------------------------------------【GUIClass()函數(shù)】--------------------------------------------------
//?Desc:構(gòu)造函數(shù)(初始化)
//---------------------------------------------------------------------------------------------------------------
GUIClass::GUIClass(LPDIRECT3DDEVICE9?pd3dDevice9?WORD?Width?WORD?Height)
{
m_pd3dDevice9?=?pd3dDevice9;
m_pBackGround?=?NULL;
m_pBkBuffer?=?NULL;
m_pControl?=?NULL;
m_pCtrlBuffer?=?NULL;
m_pFont?=?NULL;
m_iFontNums?=?0;
m_iTextNums?=?0;
m_iControlNums?=?0;
m_iButtonNums?=?0;
m_wBackgroundWidth?=?Width;
m_wBackgroundHeight?=?Height;
m_bIsBKBufferUsed?=?FALSE;
}
//-------------------------------------------【AddBackground()函數(shù)】---------------------------------------------
//?Desc:添加GUIClass對象的唯一背景圖片
//---------------------------------------------------------------------------------------------------------------
BOOL?GUIClass::AddBackground(TCHAR?*??pBackgroundName)
{
if?(!pBackgroundName)?return?FALSE;
IF(D3DXCreateTextureFromFile(m_pd3dDevice9?pBackgroundName?&m_pBackGround));
IF(m_pd3dDevice9->CreateVertexBuffer(4?*?sizeof(GUIVERTEX)?D3DUSAGE_WRITEONLY?D3DFVF_GUI
?D3DPOOL_DEFAULT?&m_pBkBuffer?NULL));
float?w?=?(float)m_wBackgroundWidth;
float?h?=?(float)m_wBackgroundHeight;
GUIVERTEX?Vertices[]?=
{
{?0?h?0.0f?1.0f?0.0f?1.0f?}
{?0?0?0.0f?1.0f?0.0f?0.0f?}
{?w?h?0.0f?1.0f?1.0f?1.0f?}
{?w?0?0.0f?1.0f?1.0f?0.0f?}
};
VOID?*pVertices?=?NULL;
IF(m_pBkBuffer->Lock(0?0?&pVertices?NULL));
memcpy(pVertices?Vertices?sizeof(Vertices));
m_pBkBuffer->Unlock();
m_bIsBKBufferUsed?=?true;
return?TRUE;
}
//--------------------------------------------【CreateTextFont()函數(shù)】-------------------------------------------
//?Desc:創(chuàng)建并增加字體對象
//---------------------------------------------------------------------------------------------------------------
BOOL?GUIClass::CreateTextFont(TCHAR?*?FontName?DWORD?SIZE?WORD?*Index)
{
if?(!m_pFont)
{
m_pFont?=?new?LPD3DXFONT[1];
if?(!m_pFont)?return?FALSE;
}
else
{
LPD3DXFONT?*?pTempFont?=?new?LPD3DXFONT[m_iFontNums?+?1];
if?(!pTempFont)?return?FALSE;
memset(pTempFont?0?sizeof(pTempFont));
memcpy(pTempFont?m_pFont?sizeof(m_pFont));
SAFE_DELETE_ARRAY(m_pFont);
m_pFont?=?pTempFont;
}
IF(D3DXCreateFont(m_pd3dDevice9?SIZE?0?1000?0?false
DEFAULT_CHARSET?OUT_DEFAULT_PRECIS?DEFAULT_QUALITY?0?FontName?&m_pFont[m_iFontNums]));
*Index?=?m_iFontNums;
m_iFontNums++;
return?TRUE;
}
//-------------------------------------------【AddText()函數(shù)】---------------------------------------------------
//?Desc:增加文本控件
//------------------------------------------------------
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????885??2014-08-01?22:37??GUIDemo\GUIDemo\D3DComMacro.h
?????文件???????4032??2013-11-23?19:06??GUIDemo\GUIDemo\GUI\backDown.png
?????文件???????4032??2013-11-23?19:07??GUIDemo\GUIDemo\GUI\backOver.png
?????文件???????3695??2013-11-23?19:07??GUIDemo\GUIDemo\GUI\backUp.png
?????文件???????5677??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\loadDown.png
?????文件?????284243??2014-02-14?18:40??GUIDemo\GUIDemo\GUI\loadgame.jpg
?????文件???????7092??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\loadOver.png
?????文件???????5998??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\loadUp.png
?????文件?????272968??2014-02-14?19:11??GUIDemo\GUIDemo\GUI\main.jpg
?????文件?????324782??2014-02-14?17:54??GUIDemo\GUIDemo\GUI\main2.jpg
?????文件?????239645??2014-02-14?18:08??GUIDemo\GUIDemo\GUI\option.jpg
?????文件???????6039??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\optionsDown.png
?????文件???????6232??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\optionsOver.png
?????文件???????5143??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\optionsUp.png
?????文件???????4625??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\quitDown.png
?????文件???????4727??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\quitOver.png
?????文件???????4231??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\quitUp.png
?????文件???????6891??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\startDown.png
?????文件?????230738??2014-02-14?18:17??GUIDemo\GUIDemo\GUI\startgame.jpg
?????文件???????7129??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\startOver.png
?????文件???????5757??2006-04-12?08:22??GUIDemo\GUIDemo\GUI\startUp.png
?????文件???46596044??2014-02-15?01:35??GUIDemo\GUIDemo\GUI\天下貳?-?太古銅門.wav
?????文件??????10837??2014-02-15?14:03??GUIDemo\GUIDemo\GUI\跳過.png
?????文件??????13126??2014-02-15?14:04??GUIDemo\GUIDemo\GUI\跳過1.png
?????文件??????13252??2014-02-15?14:04??GUIDemo\GUIDemo\GUI\跳過2.png
?????文件??????19429??2014-02-14?21:30??GUIDemo\GUIDemo\GUI\飛行模式down.png
?????文件??????19388??2014-02-14?21:31??GUIDemo\GUIDemo\GUI\飛行模式over.png
?????文件??????18552??2014-02-14?21:29??GUIDemo\GUIDemo\GUI\飛行模式up.png
?????文件??????11222??2014-08-01?21:44??GUIDemo\GUIDemo\GUIClass.cpp
?????文件???????4659??2014-08-01?22:50??GUIDemo\GUIDemo\GUIClass.h
............此處省略27個文件信息
評論
共有 條評論