我怎样才能检测到X轴,例如?
maus_x = 0
maus_y = 0
pygame.mouse.get_pos(maus_x, maus_y)
while not done:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
if maus_x < wx_coord:
angle += 10
理论上,这个“pygame.mouse.get_pos”返回一个元组(x,y)。但是,我在那里定义了一个变量来表示这个元组中的x和y。问题是,当我移动鼠标(pygame.MOUSEMOTION)时,当我执行“maus_x&lt; wx_coord:”中所写的操作时,它也会执行Y轴的功能。这完全没有意义。
只有当我在x轴上移动鼠标时,才能执行“angle + = 10”。任何人都知道发生了什么? :)
答案 0 :(得分:3)
这不是函数调用的工作方式。在您的代码中,maus_x
始终为0
,因为没有任何内容可以修改它。你想要:
while not done:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
mousex, mousey = pygame.mouse.get_pos()
if mousex < wx_coord:
angle += 10
实际上,您可能只想直接检查event对象:
while not done:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
mousex, mousey = event.pos
if mousex < wx_coord:
angle += 10
或者更好:
while not done:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
relx, rely = event.rel
if relx != 0: # x movement
angle += 10