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


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"







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值