xbw12138 2015-07-14 09:17 采纳率: 0%
浏览 3970
已结题

MFC飞机大战背景两幅图片循环

void CScene::StickScene(CDC &bufferDC, CRect rClient)
{
//设置缩放图片的模式为:COLORONCOLOR, 以消除像素重叠
bufferDC.SetStretchBltMode(COLORONCOLOR);

//如果到了左边界, 回到起点
if (m_bgX <= -rClient.Width())
{
    m_bgX = 0;
//
    if (m_isStart)
        m_isStart = false;
}

//客户区宽度
int cltWth = rClient.Width();

rClient.right = cltWth + m_bgX;
rClient.left = m_bgX;

//如果是开始就绘制起始背景
//if (m_isStart)
//{
    //this->m_imgStt.StretchBlt(bufferDC, rClient, SRCCOPY);

//}
//将下一张背景作为起始背景
//else
//{
    //this->m_imgNxt.StretchBlt(bufferDC, rClient, SRCCOPY);
//}

//绘制下一张背景
rClient.left += cltWth;
rClient.right += cltWth;
//m_imgNxt.StretchBlt(bufferDC, rClient, SRCCOPY);

}
注释的部分有错,图片说明

捉急啊,求助,或者有没有别的解决办法

  • 写回答

1条回答 默认 最新

  • oyljerry 2015-07-14 12:04
    关注

    你的m_hBitmap对象为空,没有正确获取到位图对象。

    评论

报告相同问题?