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

📄 gameovershow.cpp

📁 一个完整的2D滚屏游戏示例
💻 CPP
字号:
// GameOverShow.cpp: implementation of the CGameOverShow class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "GameOverShow.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CGameOverShow::CGameOverShow()
{
	m_bActive=false;	

	int nXR=SCREEN_WIDTH,nXL=0,
		nY=SCREEN_HEIGHT/2-100,
		nPaceX=400,
		nPaceY=53,
		nSpaceWords=6;

	RECT	rcWords;
	rcWords.top   =START_Y+SCREEN_HEIGHT+SPIRIT_HEIGHT*7;
	rcWords.bottom=rcWords.top+SPIRIT_HEIGHT_2-1;
	rcWords.left  =START_X;
	rcWords.right =rcWords.left+SPIRIT_WIDTH_4-1;
	
	m_GameOverWordsLeft.Initialize(nXL-nPaceX,nY+nPaceY,7,nSpaceWords,rcWords);
	m_GameOverWordsLeft.ArrangeRect(" ATHENA");

	m_GameOverWordsRight.Initialize(nXR+nPaceX,nY+nPaceY,4,nSpaceWords,rcWords);
	m_GameOverWordsRight.ArrangeRect("BYE ");
}

//////////////////////////////////////////////////////////////////////
//
CGameOverShow::~CGameOverShow()
{

}

////////////////////////////////////////////////////////////////////////
//
void CGameOverShow::Trace()
{
	int nPace=2;//这个数一定要被起点与终点的距离整除,否则各行不能对齐;
	int nEndL=400,nEndR=300;
	int nXL,nYL,nXR,nYR;
	
	nXR=m_GameOverWordsRight.GetShowX();
	nYR=m_GameOverWordsRight.GetShowY();
	if(nXR>nEndR)m_GameOverWordsRight.SetShowPosition(nXR-=nPace,nYR);
	else m_bActive=false;

	nXL=m_GameOverWordsLeft.GetShowX();
	nYL=m_GameOverWordsLeft.GetShowY();
	if(nXL<nEndL)m_GameOverWordsLeft.SetShowPosition(nXL+=nPace,nYL);
	//else m_bActive=false;
	
return;
}

///////////////////////////////////////////////////////////////////////////////
//
bool CGameOverShow::Show(CDD* pDD)
{   
	//画字符:
	if(!m_GameOverWordsLeft.Show(pDD))return false;
	if(!m_GameOverWordsRight.Show(pDD))return false;

return true;
}

⌨️ 快捷键说明

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