您的位置:首页 > 其它

网狐 自绘 倒计时和准备按钮

2016-02-01 17:02 507 查看
GameClientView.h中:

CSkinImage
m_ImageTimeBack; //时间底
CSkinImage
m_ImageTimeNumber; //时间数字
CSkinImage
m_ImageUserReady; //用户准备

void DrawUserTimer(CDC * pDC, int nXPos, int nYPos, WORD wTime);
void DrawUserReady(CDC * pDC, int nXPos, int nYPos);

GameClientView.cpp中:

OnCreate函数:

m_ImageTimeBack.SetLoadInfo(IDB_TIMEBACK, hInstance, true);
m_ImageTimeNumber.SetLoadInfo(IDB_TIMENUMBER, hInstance, true);
m_ImageUserReady.SetLoadInfo(IDB_PIC_CHU_ZHNEG, hInstance, true);

//绘画时间

void CGameClientView::DrawUserTimer(CDC * pDC, int nXPos, int nYPos, WORD wTime)

{

//获取属性
const INT nNumberHeight=m_ImageTimeNumber.GetHeight();
const INT nNumberWidth=m_ImageTimeNumber.GetWidth()/10;

//计算数目
LONG lNumberCount=2;
WORD wNumberTemp=wTime;
//do
//{
// lNumberCount++;
// wNumberTemp/=10;
//} while (wNumberTemp>0L);

//位置定义
INT nYDrawPos=nYPos-nNumberHeight/2+3;
INT nXDrawPos=nXPos+(lNumberCount*nNumberWidth)/2-nNumberWidth;

//绘画背景
CSize SizeTimeBack(m_ImageTimeBack.GetWidth(),m_ImageTimeBack.GetHeight());
m_ImageTimeBack.AlphaBlendEx(pDC->GetSafeHdc(),nXPos-SizeTimeBack.cx/2,nYPos-SizeTimeBack.cy/2,SizeTimeBack.cx,SizeTimeBack.cy,0,0,SizeTimeBack.cx,SizeTimeBack.cy);

//绘画号码
for (LONG i=0;i<lNumberCount;i++)
{
//绘画号码
WORD wCellNumber=wTime%10;
m_ImageTimeNumber.AlphaBlendEx(pDC->GetSafeHdc(),nXDrawPos,nYDrawPos,nNumberWidth,nNumberHeight,wCellNumber*nNumberWidth,0,nNumberWidth,nNumberHeight);

//设置变量
wTime/=10;
nXDrawPos-=(nNumberWidth+2);
};

return;

}

void CGameClientView::DrawUserReady(CDC * pDC, int nXPos, int nYPos)

{

////获取属性
//const INT nNumberHeight=m_ImageTimeNumber.GetHeight();
//const INT nNumberWidth=m_ImageTimeNumber.GetWidth()/10;

////位置定义
//INT nYDrawPos=nYPos-nNumberHeight/2+3;
//INT nXDrawPos=nXPos+(lNumberCount*nNumberWidth)/2-nNumberWidth;

//绘画背景
CSize SizeTimeBack(m_ImageTimeBack.GetWidth(),m_ImageTimeBack.GetHeight());
m_ImageUserReady.AlphaBlendEx(pDC->GetSafeHdc(),nXPos-SizeTimeBack.cx/2,nYPos-SizeTimeBack.cy/2,SizeTimeBack.cx,SizeTimeBack.cy,0,0,SizeTimeBack.cx,SizeTimeBack.cy);

return ;

}

最后别忘记在GameClient.rc中增加:

IDB_TIMEBACK            PNG                     "res\\TimeBack.PNG"

IDB_TIMENUMBER          PNG                     "res\\TIMENUMBER.PNG"

IDB_PIC_CHU_ZHNEG       PNG                     "res\\chuzheng.png"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: