?? gamemenu.cpp
字號:
/********************************************************************
文件名: GameMenu.cpp
Copyright (c)2004 紅孩兒工作室
創(chuàng)建人 : 卞安
創(chuàng)建時間: 2004-5-18 12:33:30
版本: 1.0
類名: CSetOther
說明:
顯示設置游戲菜單項類
********************************************************************/
#include "GameMenu.h"
#include <mmsystem.h>
//---------------------------------------------------------------
/********************************************************************
函數(shù)名 : Render
輸入?yún)?shù): 無
輸出參數(shù): 無
功能描述:
渲染
全局變量: 無
調用模塊: 無
********************************************************************/
void CGameMenu::Render()
{
for(int i=0;i<m_childnum;i++)
{
pChild[i]->Render();
}
m_pFont->DrawText(m_x,m_y, D3DCOLOR_ARGB(255,255,0,0),strLabel);
}
/********************************************************************
函數(shù)名 : Add
輸入?yún)?shù): 無
輸出參數(shù):
TRUE 成功
FALSE 失敗
功能描述:
增加菜單項
全局變量: 無
調用模塊: 無
********************************************************************/
void CGameMenu::Add(TCHAR* _strLabel)
{
pChild[m_childnum]=new CMenuItem(m_pd3dDevice,_strLabel,m_childnum,m_x+100,m_y+40+(m_childnum+1)*30);
m_childnum=m_childnum+1;
}
/********************************************************************
函數(shù)名 : 構造函數(shù)
輸入?yún)?shù):
pd3dDevice:D3D設備
*strLabel:標題
輸出參數(shù): 無
功能描述:
初始化
全局變量: 無
調用模塊: 無
********************************************************************/
CGameMenu::CGameMenu(LPDIRECT3DDEVICE8 pd3dDevice,TCHAR* strNewLabel)
{
m_pd3dDevice=pd3dDevice;
_tcscpy( strLabel, strNewLabel );
m_childnum=0;
lstrcpy( m_strFont, _T("Arial Black") );
m_dwFontSize = 40;
m_pFont= new CD3DFont( m_strFont, m_dwFontSize );
m_pFont->InitDeviceObjects(pd3dDevice);
m_pFont->RestoreDeviceObjects();
}
/********************************************************************
函數(shù)名 : 析構函數(shù)
輸入?yún)?shù): 無
輸出參數(shù): 無
功能描述:
刪除指針并釋放變量
全局變量: 無
調用模塊: 無
********************************************************************/
CGameMenu::~CGameMenu()
{
if(m_pFont)
{
delete m_pFont;
m_pFont=NULL;
}
while(m_childnum)
delete pChild[--m_childnum];
}
/********************************************************************
函數(shù)名 : SetXY
輸入?yún)?shù):
_x:
_y:位置
輸出參數(shù): 無
功能描述:
設置XY位置
全局變量: 無
調用模塊: 無
********************************************************************/
void CGameMenu::SetXY(int _x,int _y)
{
m_x=_x;
m_y=_y;
}
/********************************************************************
函數(shù)名 : Select
輸入?yún)?shù): _id:菜單項索引
輸出參數(shù): 無
功能描述:
選中那個菜單項
全局變量: 無
調用模塊: 無
********************************************************************/
void CGameMenu::Select(int _id)
{
m_result=_id;
for(int i=0;i<m_childnum;i++)
{
if(i==m_result)
{
pChild[m_result]->m_selected=true;
}
else
{
pChild[i]->m_selected=false;
}
}
}
/********************************************************************
函數(shù)名 : Getx()
輸入?yún)?shù): 無
輸出參數(shù): 無
功能描述:
取得X位置
全局變量: 無
調用模塊: 無
********************************************************************/
int CGameMenu::Getx()
{
return m_x;
}
/********************************************************************
函數(shù)名 : Gety()
輸入?yún)?shù): 無
輸出參數(shù): 無
功能描述:
取得Y位置
全局變量: 無
調用模塊: 無
********************************************************************/
int CGameMenu::Gety()
{
return m_y;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -