pygame 应用程序有两排按钮。可以通过单击按钮来打开或关闭这些按钮。
问题在于,无论鼠标垂直位于何处,它都会同时单击该列的所有按钮,而不仅仅是一个;(就像一次单击整个 y 轴一样)。我在每次单击时打印了鼠标事件的 x 和 y 坐标,但坐标正常地在一个按钮的位置内。那么,为什么要打开或关闭多个按钮而不是一个按钮呢?我什至在任何按钮的垂直范围下方单击,只要 x 坐标仍在范围内,它们仍然被激活。无论如何,这是代码的一部分(对糟糕的编号系统感到抱歉):
if event.type == pygame.MOUSEBUTTONUP:
if event.pos < (130,130) and event.pos > (100,100):
if seq01[0] == 0:
seq01[0] = 1
block_00 = block_on
else:
seq01[0] = 0
block_00 = block_off
print event.pos
if event.pos < (170,130) and event.pos > (140,100):
if seq01[1] == 0:
seq01[1] = 1
block_01 = block_on
else:
seq01[1] = 0
block_01 = block_off
#### this is the start of the second row ####
if event.pos < (130,200) and event.pos > (100,170):
if seq02[0] == 0:
seq02[0] = 1
block_2_00 = block_on
else:
seq02[0] = 0
block_2_00 = block_off