📄 gamemenu.cpp
字号:
/********************************************************************
文件名: GameMenu.cpp
Copyright (c)2004 红孩儿工作室
创建人 : 卞安
创建时间: 2004-5-18 12:33:30
版本: 1.0
类名: CSetOther
说明:
显示设置游戏菜单项类
********************************************************************/
#include "GameMenu.h"
#include <mmsystem.h>
//---------------------------------------------------------------
/********************************************************************
函数名 : Render
输入参数: 无
输出参数: 无
功能描述:
渲染
全局变量: 无
调用模块: 无
********************************************************************/
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);
}
/********************************************************************
函数名 : Add
输入参数: 无
输出参数:
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;
}
/********************************************************************
函数名 : 构造函数
输入参数:
pd3dDevice:D3D设备
*strLabel:标题
输出参数: 无
功能描述:
初始化
全局变量: 无
调用模块: 无
********************************************************************/
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();
}
/********************************************************************
函数名 : 析构函数
输入参数: 无
输出参数: 无
功能描述:
删除指针并释放变量
全局变量: 无
调用模块: 无
********************************************************************/
CGameMenu::~CGameMenu()
{
if(m_pFont)
{
delete m_pFont;
m_pFont=NULL;
}
while(m_childnum)
delete pChild[--m_childnum];
}
/********************************************************************
函数名 : SetXY
输入参数:
_x:
_y:位置
输出参数: 无
功能描述:
设置XY位置
全局变量: 无
调用模块: 无
********************************************************************/
void CGameMenu::SetXY(int _x,int _y)
{
m_x=_x;
m_y=_y;
}
/********************************************************************
函数名 : Select
输入参数: _id:菜单项索引
输出参数: 无
功能描述:
选中那个菜单项
全局变量: 无
调用模块: 无
********************************************************************/
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;
}
}
}
/********************************************************************
函数名 : Getx()
输入参数: 无
输出参数: 无
功能描述:
取得X位置
全局变量: 无
调用模块: 无
********************************************************************/
int CGameMenu::Getx()
{
return m_x;
}
/********************************************************************
函数名 : Gety()
输入参数: 无
输出参数: 无
功能描述:
取得Y位置
全局变量: 无
调用模块: 无
********************************************************************/
int CGameMenu::Gety()
{
return m_y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -