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

📄 mapview.cpp

📁 《OpenGL游戏编程》这本书的配套源码。
💻 CPP
字号:
//========================================================
/**
*  @file      MapView.cpp
*
*  项目描述: 构造游戏引擎
*  文件描述:  小地图
*  适用平台: Windows98/2000/NT/XP
*  
*  作者:     WWBOSS
*  电子邮件:  wwboss123@gmail.com
*  创建日期: 2007-07-26	
*  修改日期: 2007-07-26
*
*/ 
//========================================================

#include "stdafx.h"
#include "mapview.h"

MapView::MapView(void)
{
}

MapView::~MapView(void)
{
}


/**\brief
 * 从INI文件载入小地图数据
 */
BOOL MapView::LoadIni(char* _filename,char* _index)
{
	CIniFile Ini(_filename);

	m_sRect.width=Ini.ReadInt(_index,"width");
	m_sRect.height=Ini.ReadInt(_index,"height");

	m_chBackTexFile =Ini.ReadText(_index,"BackTexFile");
	
	m_bBlend=TRUE;
	m_sColor=SColor(1.f,1.f,1.f,0.9f);
	m_sRect.x = SYS_WIDTH - m_sRect.width;
	m_sRect.y = SYS_HEIGHT - m_sRect.height;

	if(m_chBackTexFile==NULL)return FALSE;
	this->LoadTexture(m_chBackTexFile,1,m_bBlend);

	return TRUE;
}


/**\brief
 * 小地图的渲染
 */
void MapView::OnDraw(void)
{
	float x , y;
	vector3d pos=CRole::GetRolePointer()->GetPos();
	x = (pos.x /2048.0f * m_sRect.width) + m_sRect.x;
	y = -(pos.z /2048.0f * m_sRect.height) + m_sRect.y+m_sRect.height;
	glPointSize(5.0f);
		glColor3f(1.0f,1.0f,0.0f);
	glBegin(GL_POINTS);
	  glVertex2f(x,y);
	glEnd();

	for(unsigned int i=0;i<CMonstersMgr::GetSysMonstersMgr()->GetMonsterNum();++i)
	{
		pos = CMonstersMgr::GetSysMonstersMgr()->GetMonsterPos(i);
		x = (pos.x / 2048.0f * m_sRect.width) +m_sRect.x ;
		y =-(pos.z / 2048.0f * m_sRect.height)+m_sRect.y+m_sRect.height;
		if(CMonstersMgr::GetSysMonstersMgr()->GetMonsterState(i) == DEATH)
			glColor3f(0.0f , 0.0f , 0.0f);
		else
			glColor3f(1.0f , 0.0f , 0.0f);
		glBegin(GL_POINTS);
		glVertex2f(x,y);
		glEnd();
	}
	glPointSize(1.0f);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -