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

📄 scene_view.h

📁 大家好!这是一个网络游戏源码
💻 H
字号:
#include "graph.h"
#include "d3d_app.h"
#include "d3dmath.h"
#include "camera.h"

#ifndef TAG_SCENE_VIEW
#define TAG_SCENE_VIEW

struct ATTRIB_VERTEX
{
   D3DXVECTOR3 p;
   D3DVALUE    u,v;
};

struct GRID_VERTEX
{
   D3DXVECTOR3 p;
   D3DCOLOR    c;
};


struct SCENE_VIEW_INIT
{
	float	fGridSize;
	int		iGridNum;
	TCHAR	strMapFileName[MAX_PATHX];
	TCHAR	strCoverFileName[MAX_PATHX];
};



class SCENE_VIEW
{
public:
	CAMERA		m_Camera;
	VOID		SetView();
	
	DWORD		m_iGridVertexAmount;						// 格子顶点总数量(格子本身 + 世界边框的所有顶点)
	
	int			m_iGridNum;
	float		m_fGridSize;
	float		m_fGridSizeX;
	float		m_fGridSizeY;
	
	HRESULT		CreateGridObj(int iNum , float fGridSize);  // 创建格子
    VOID	    ResetGridSize(float fSize);					// 调整格子尺寸
	VOID		ResetGridNum(int iNum);						// 调整格子数量
	
	TCHAR		strBackgroundInfo[128];
	TCHAR		strGridRatio[128];							// 格子信息记录
	
	VOID		CaluGridInfo();								// 计算格子信息 
	
	
	// 颜色
	DWORD		m_dwGridColor;
	DWORD		m_dwBlockColor;
	DWORD		m_dwBlockCharColor;
	
	LPDIRECTDRAWSURFACE7	psurMap;
	LPDIRECTDRAWSURFACE7	psurCover;
    LPDIRECTDRAWSURFACE7	psurAttr;
	
	GRID_VERTEX			*pGridVB;							// 格子顶点缓冲
	ATTRIB_VERTEX		*pAttrVB;							// 属性顶点缓冲
	
	// 格子坐标与世界坐标的转换
	VOID	WorldToGrid(int x , int y , int *piGridX  , int *piGridY)	{ Coord_2DWorldToGrid(x , y , piGridX  , piGridY  , m_fGridSizeX , m_fGridSizeY , m_iGridNum); }
	VOID	GridToWorld(int x , int y , int *piWorldX , int *piWorldY)	{ Coord_GridTo2DWorld(x , y , piWorldX , piWorldY , m_fGridSizeX , m_fGridSizeY , m_iGridNum); }
	
	VOID    SetAttrSurface(GAME_GRID *pgridWorld , DWORD dwColor);
	VOID    SetAttrSurfaceValue(int x , int y , DWORD dwColor);
	
	
	BOOL    Init(SCENE_VIEW_INIT *pSceneViewInit);	
	
	
	VOID	DrawGridObj();								// 绘制  
    VOID	DrawSingleGridObj(int iGridX , int iGridY);
	VOID    DrawGridAttrChar();
	VOID    DrawGridAttrColor();
	VOID    DrawMap(GAME_MAP *pmapMain);
	VOID	DrawCover(GAME_MAP *pmapMain , GAME_GRID *pgridCoverRedraw);
	VOID	DrawCoverAttr(GAME_MAP *pmapMain , GAME_GRID *pgridCover);
	VOID	DrawCoverRedrawRect(GAME_MAP *pmapMain , GAME_GRID *pgridCoverRdraw);
	
	VOID	DrawGrid(int iDrawX , int iDrawY , GAME_GRID *pGrid , DWORD dwColor);
	VOID    Scroll(int Dir);
	
	VOID    ReleaseDeviceObj();
	VOID	Release();
	SCENE_VIEW();
	~SCENE_VIEW();
};

	

#endif

⌨️ 快捷键说明

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