制作的坦克大战当涉及到鼠标点击就会变得很卡

-1

MOUSEMSG msg = { 0 };
int x, y,r;
print();
while (kn.flag)
{
msg = GetMouseMsg();//读取鼠标指令
if (msg.uMsg == WM_LBUTTONDOWN)
{
x = msg.x / siz + 1;
y = msg.y / siz;
if (x > 5&&x <26&&y>5&&y<26)
{
r = MessageBox(h, "resume?","", MB_YESNO);
if (r == IDYES );

}
}

ava
抠脚猛汉

2019-12-20

1

GetMouseMsg() 是阻塞指令,执行到这里就会等待鼠标消息,如果没有消息,就会一直等待,所以你才会觉得卡。先用 MouseHit() 检测一下是否有鼠标消息,如果有,再执行 GetMouseMsg(),这样就不卡了。

ava
慢羊羊

2019-12-20

技术讨论社区