在我的play函数结尾用cleardevice函数后画面就卡住了,也贴不上其他图片覆盖
若是关闭play函数中的窗口 新写一个gameover函数重新开一个绘图窗口 在新的窗口里贴图就是一片黑 不运行play函数直接调用gameover函数图片就能正常贴上
怀疑是play函数里出了问题 但又不清楚具体原因 有考虑过会不会是链表没有清除的问题 但是周围人没有清除链表也没有出现这样的状况
play函数如下
void play(USER* user) {
initgraph(1050, 500, SHOWCONSOLE);
while (1) {
cleardevice();
BeginBatchDraw();//批量绘图
stargame(user, topScore, t);//贴背景显示用户信息及倒计时
if(...){ //这里我省略了条件
break;
}
FlushBatchDraw();
}
cleardevice();
loadimage(&img_over, _T(".\\pm\\WinLayerBg.jpg"), 640, 480);
putimage(0, 0, &img_over);
_getch();
closegraph();
}
请问是什么原因导致的? 该如何解决?
其实就是我用了FlushBatchDraw后面没有用EndBatchDraw 导致后面贴不上图
不过这次也知道了没有结束批量绘图操作也会影响后续新开窗口的贴图