if (rotateSpeed!=0) // 如果旋转速度不等于0
{
MOUSEMSG input2; // 获得用户按键输入
input2=GetMouseMsg();
if (input2.uMsg==WM_LBUTTONDOWN) // 如果为左键
{
lineNum++; // 针的个数加1
Angles[lineNum-1] = 0; // 这根新增加针的初始角度
xEnd = lineLength*cos(-Angles[lineNum-1]) +width/2; //新增针的末端坐标
yEnd = lineLength*sin(-Angles[lineNum-1]) +height/2;
line(width/2,height/2,xEnd,yEnd); // 绘制出这根新增加的针
for (i=0;i<lineNum-1;i++) // 拿新增加的针和之前所有针比较
{
// 如果两根针之间角度接近,认为碰撞,游戏失败
if (abs(Angles[lineNum-1]-Angles[i]) < Pi/60)
{
rotateSpeed = 0; // 旋转速度设为0
judge=1;//玩家二赢
break; // 不用再比较了,循环跳出
}
//
if(time==0)
break;
}
score2 = score2+ 1; // 得分+1
}
}
见缝插针游戏鼠标不移动画面就不动怎么回事?
没有看到具体的问题代码,局部代码来看,是因为 GetMouseMsg() 是阻塞函数。
另外建议你看看这篇文章:https://codebus.cn/zhaoh/a/handle-mouse-messages-correctly