• 大小: 30.8MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-17
  • 语言: 其他
  • 标签: DirectX  GUI  UI  C++  

资源简介

基于DirectX的简单GUI界面制作,采用Visual Studio 2012工具,需配置DirectX9.0用户环境方能成功运行。

资源截图

代码片段和文件信息

/*--------------------------------------------------------------
【Cpp文件】:GUIClass.cpp       Created by Beyond Ray2014年2月
(描述):一个封装了控件对象的类和控件处理函数的实现
----------------------------------------------------------------*/

#include“GUIClass.h“

//-------------------------------------------【GUIClass()函数】--------------------------------------------------
// Desc:构造函数(初始化)
//---------------------------------------------------------------------------------------------------------------
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()函数】---------------------------------------------
// 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()函数】-------------------------------------------
// Desc:创建并增加字体对象
//---------------------------------------------------------------------------------------------------------------
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()函数】---------------------------------------------------
// 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个文件信息

评论

共有 条评论