我是 C++ 的新手,我正在尝试创建一个游戏。我有一个矩形的二维数组 RECT_GRID。我有一个无符号短的二维数组网格。我在 WM_CREATE 期间填充矩形数组
WM_PAINT 事件为数组中的所有元素绘制矩形。矩形的颜色基于 GRID[x][y] 的值
我这样做了,当按下向下键时,它通过将 GRID[1][XMOVE] = 设置为不同的颜色来更改其中一个矩形的颜色,然后它使客户端矩形无效
基本上发生的情况是,它在一段时间内运行良好,但最终它只是停止绘制东西。我在调试期间检查了我的 XMOVE 变量,我检查了网格值和其他东西,一切都很好。当我从绘画事件中删除 for 循环并专注于 1 个特定矩形时,它永远不会失败,但如果我尝试一次重绘所有这些矩形,大约 20 次后,它会停止绘画。什么可能导致这种情况?我是 C++ 新手,我敢打赌我没有正确绘画并导致溢出或其他问题。
如果有人可以解释出了什么问题,或者正确的方法来做到这一点,我将非常感激。我在谷歌上找不到类似这个例子的东西。谢谢
编辑:
我正在使用 3 个全局画笔 HBRUSH A;灌木丛 B; 刷子 C;
当我修改它们时,我总是说 A = MakeBrush(NUM);
我正确使用画笔吗?