MFC飞机大战代码

if(m_pMe!=NULL){m_pMe->Draw(m_pMemDC,FALSE);pMemDC->SetBkMode(TRANSPARENT);pMemDC->Te... if(m_pMe!=NULL)
{
m_pMe->Draw(m_pMemDC,FALSE);
pMemDC->SetBkMode(TRANSPARENT);
pMemDC->TextOutW(0, 20, L"生命值:", 4);
pMemDC->SetTextColor(RGB(255, 0, 0));
CString c;
c.Format(_T("%d"), Plane_Life);
pMemDC->TextOutW(50, 20, c);
pMemDC->TextOutW(0, 40, L"得分:", 3);
CString ss;
ss.Format(_T("%d"), score);
pMemDC->TextOutW(50, 40, ss);
pMemDC->TextOutW(0, 0, L"关卡:",3);
CString cs;
cs.Format(_T("%d"), guan);
pMemDC->TextOutW(50, 0, cs);
}
代码解释
展开
 我来答
keyuth
2016-07-10 · TA获得超过825个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:83.9万
展开全部

前不着村,后不着店,只能根据经验猜,请采纳:

首先,m_pMe应该是一个封装了窗口视区操作的对象指针,m_MemDC是一个封装了临时位图数据的设备句柄,是一个CDC对象,它是在内存中"作画",而没有直接输出到屏幕。代码注解如下:

// 如果m_pMe对象指针不为NULL(即关联视区的对象存在)
if(m_pMe!=NULL)
{
   // 没有函数代码,不知道Draw功脊升羡能。
   m_pMe->Draw(m_pMemDC,FALSE);
   // 设置pMemDC的背景模式,即在输出文字时不擦除已存在的背景。
   pMemDC->SetBkMode(TRANSPARENT);
   // 把"生命值:"输出到指定坐标(0, 20)位置的内存位图中,4是字符串长度。
   pMemDC->TextOutW(0, 20, L"生命值:", 4);
   
   // 设置输出文字的颜色为红色。
   pMemDC->SetTextColor(RGB(255, 0, 0));
   CString c;
   // 把Plane_Life数值转换成指定格式的字符串,并保存在CString对象中。
   c.Format(_T("%d"), Plane_Life);
   // 把Plane_Life结果输出到指定坐标(50, 20)位置的内存位图中。
   pMemDC->TextOutW(50, 20, c);
   // 把"得分:"输出到指定坐标(0, 40)位置的内存位图中。
   pMemDC->TextOutW(0, 40, L"得分:", 3);
   
   // 参照上面
   CString ss;
   ss.Format(_T("%d"), score);
   pMemDC->TextOutW(50, 40, ss);
   pMemDC->TextOutW(0, 0, L"关卡:",3);
   
   // 参照上面
   CString cs;
   cs.Format(_T("%d"樱拍), guan);
   笑差pMemDC->TextOutW(50, 0, cs);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式