⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamemenu.cpp

📁 3D俄罗斯方块源码.rar
💻 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 + -