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

📄 game_scene.cpp

📁 大家好!这是一个网络游戏源码
💻 CPP
字号:
#include "runner_game.h"

	 


GAME_SCENE::GAME_SCENE()
{
	pbBlockPath         = NULL;
}

GAME_SCENE::~GAME_SCENE()
{
	Release();
}

VOID GAME_SCENE::Release()
{
	FreeMemory(pbBlockPath);
}

BOOL GAME_SCENE::Init() 
{
	GetMemory(pbBlockPath , BYTE , gridWorld.iAttrSize);
	
	gridWorld.SetBorderValue(1);

	ResetPathBlockBuffer();  
	return TRUE;
}

VOID GAME_SCENE::SetCoverRedrawValue(RECT rcObj , BYTE bValue)
{
	
	int iMapX , iMapY;
	mapMain.GetMapXY(&iMapX , &iMapY);
	
	RECT rc;
	rc.left	  =	rcObj.left	 - iMapX;
	rc.top	  =	rcObj.top	 - iMapY;
	rc.right  =	rcObj.right  - iMapX;
	rc.bottom =	rcObj.bottom - iMapY;
	
	RECT rcGrid;
	if(!gridCover.WorldRectToGridRect(rc , &rcGrid))
	{
		return;
	}
	
	int iStartRectX = rcGrid.left;
	int iStartRectY = rcGrid.top;
	int iEndRectX	= rcGrid.right;
	int iEndRectY	= rcGrid.bottom;
	
	int w , h ; gridCover.GetWorldGridSize(&w , &h);
	int iOffset = iEndRectY * w;
	if(iEndRectY>=h)
	{
		Out("ERR %s\n" , "iEndRectY Overflow!");
		Out("iStartRectY = %d\n" , iStartRectY);
		Out("iEndRectY   = %d\n" , iEndRectY);
		return ;
	}
	LPBYTE pbHeight = gridCover.GetAttrPtr()	   + iOffset;
	LPBYTE pbRedraw = gridCoverRedraw.GetAttrPtr() + iOffset;
	
	for(int y = iEndRectY ; y >= iStartRectY; y--) //从下往上
	{
	   for(int x = iStartRectX ; x <= iEndRectX ; x++)
	   {
			if( *(pbHeight + x) > (iEndRectY - y) )
			{
				 *(pbRedraw + x) = 1;
			}
	   }
	   pbHeight-=w;
	   pbRedraw-=w;
	}
}

⌨️ 快捷键说明

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