见缝插针游戏鼠标不移动画面就不动怎么回事?

0
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
			}
		}
ava
Æ

2020-11-6

0

没有看到具体的问题代码,局部代码来看,是因为 GetMouseMsg() 是阻塞函数。

另外建议你看看这篇文章:https://codebus.cn/zhaoh/a/handle-mouse-messages-correctly

ava
慢羊羊

2020-11-6

技术讨论社区