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数,用来计算我填充的是哪一部分。
展开
 我来答
wfy910206
2014-05-08 · 超过22用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:58.7万
展开全部
你这个想法就不太好,很难管理画面上的物体。你可以把所有的物体都放在一个数组里面,然后每次画的时候,把数组(或链表)的物体都绘制出来,如果想让某个物体消失,将这个物体从数组里删除即可。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式