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);
}
代码解释 展开
{
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);
}
代码解释 展开
1个回答
展开全部
前不着村,后不着店,只能根据经验猜,请采纳:
首先,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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询