我试着做一个这样的按钮:
if button.collidepoint(mouse_pos) and mouse_down[0]==1:
toggle()
我遇到的问题是,由于我的鼠标点击持续时间,每一帧都会前后切换。所以我试着加上这个,这样计算机就会等待鼠标被提起
While True:
if mouse_down[0]==0:
break
现在这是一个令人崩溃的游戏。谁能告诉我为什么?如果我添加
pygame.time.delay(17)
除此之外,如果有人能告诉我一种等待鼠标被提起的方法,我也将不胜感激
Tags:
它“崩溃”是因为你没有处理事件。见PyGame unresponsive display或PyGame window not responding after a few seconds。} ^{} :
您必须处理应用程序循环中的事件。分别见^{
如果要等待单击鼠标,则必须处理循环中的事件
无论如何,如果您只想在单击鼠标按钮后切换一次,则需要使用鼠标事件。单击鼠标按钮时} 对象有两个属性,提供有关鼠标事件的信息} 的文档中找到
MOUSEBUTTONDOWN
事件发生一次,松开鼠标按钮时MOUSEBUTTONUP
事件发生一次。^{pos
是存储单击位置的元组button
存储单击的按钮。每个鼠标按钮都关联一个值。例如,鼠标左键、鼠标中键、鼠标右键、鼠标滚轮向上、鼠标滚轮向下的属性值分别为1、2、3、4、5。当按下多个键时,会发生多个鼠标按钮事件。进一步的解释可以在模块^{例如:
另见Pygame mouse clicking detection
相关问题 更多 >
编程相关推荐