VC的WIN32小游戏编程中的窗口重绘问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:04:23
小弟刚学WIN32SDK,在编写一个VC的WIN32SDK的小游戏。游戏结构我采用的是WinMain.cpp,GameMain.cpp,GameMain.h三个文件。游戏主要采用2个函数,为GameInit(),GameMain(),分别执行初始化和主循环。GameInit()放在消息循环前,GameMain()函数放在消息循环里。
调试后只要窗口在屏幕中央就没有问题,但是游戏执行中最小化或者把窗口拖动到边缘时会出现窗口重绘问题(窗口变成白色),尤其是最小化后连正常的运行都不行。请教高手帮我解决一下,小弟在此多谢!
源代码比较长,就不方便贴了,我的过程函数里没有加东西。游戏主循环就在消息循环里。还有就是我的游戏占用CPU率非常高,达到四十多了,这也不知道怎么回事,求高手帮忙啊!!
是的,GameMain()函数的确放在4楼的消息循环里。这样做占用CPU会到一半。

你是不是没有定时去刷新窗口?弄个定时器,然后每个一段时间去Invalidate一下,这样就可以定时去绘制了。

贴下源代码吧
//===============

GameMain()函数放在消息循环里?
你说的是放在
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
里面?

动漫明星大乱斗

vcb