mfc中关于方向键移动图片的问题
我的图片已经画好了,方向键也能让它移动,就是我的小人走到一个地方捡起某样物品以后想要令此物品消失(此物品用的是位图,之前在ondraw里插入的),所以我写了一个叫Fill...
我的图片已经画好了,方向键也能让它移动,就是我的小人走到一个地方捡起某样物品以后想要令此物品消失(此物品用的是位图,之前在ondraw里插入的),所以我写了一个叫FillGrid的函数把它用背景色覆盖掉,这样就能看上去像消失了一样,但是当我的小人走过这个物品原来的位置的时候,在小人移动到别的地方后这个物品又重新显示出来了,想要请教这是怎么回事。。。
贴上我的FillGrid函数:
CBrush brush4(RGB(135, 123, 14));
pDC -> SelectStockObject(NULL_BRUSH);
CBrush* POldBrush4 = pDC -> SelectObject(&brush4);
if(p != 4 && p != 12 && p != 13 && p != 17 && p != 18 && p != 21 && p != 22 && p != 26 && p != 30 && p != 31 && p != 32 && p != 34 && p != 35 && p != 37 && p != 38 && p != 39 && p != 43 && p != 50 && p != 51 && p != 52 && p != 57 && p != 58 && p != 59 && p != 64 && p != 66 && p != 68 && p != 71 && p != 73 && p != 77 && p != 78 && p != 79 && p != 80 && p != 84 && p != 85 && p != 93 && p != 95 && p != 98 && p != 100 && p != 101 && p != 102 && p != 104 && p != 106 && p != 107 && p != 109 && p != 115 && p != 118 && p != 120 && p != 121)
{
if(p % 11 == 0)
{
CRect grid(512, (p / 11) * 32 + 32, 544, (p / 11) * 32 + 32 + 32);
pDC -> Rectangle(grid);
}
else
{
CRect grid((p % 11 - 1) * 32 + 192, (p / 11) * 32 + 32, (p % 11 - 1) * 32 + 192 + 32, (p / 11) * 32 + 32 + 32);
pDC -> Rectangle(grid);
}
}
其中p是一个int数,用来计算我填充的是哪一部分。 展开
贴上我的FillGrid函数:
CBrush brush4(RGB(135, 123, 14));
pDC -> SelectStockObject(NULL_BRUSH);
CBrush* POldBrush4 = pDC -> SelectObject(&brush4);
if(p != 4 && p != 12 && p != 13 && p != 17 && p != 18 && p != 21 && p != 22 && p != 26 && p != 30 && p != 31 && p != 32 && p != 34 && p != 35 && p != 37 && p != 38 && p != 39 && p != 43 && p != 50 && p != 51 && p != 52 && p != 57 && p != 58 && p != 59 && p != 64 && p != 66 && p != 68 && p != 71 && p != 73 && p != 77 && p != 78 && p != 79 && p != 80 && p != 84 && p != 85 && p != 93 && p != 95 && p != 98 && p != 100 && p != 101 && p != 102 && p != 104 && p != 106 && p != 107 && p != 109 && p != 115 && p != 118 && p != 120 && p != 121)
{
if(p % 11 == 0)
{
CRect grid(512, (p / 11) * 32 + 32, 544, (p / 11) * 32 + 32 + 32);
pDC -> Rectangle(grid);
}
else
{
CRect grid((p % 11 - 1) * 32 + 192, (p / 11) * 32 + 32, (p % 11 - 1) * 32 + 192 + 32, (p / 11) * 32 + 32 + 32);
pDC -> Rectangle(grid);
}
}
其中p是一个int数,用来计算我填充的是哪一部分。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询