我不知道为什么它显示了错误的坐标,但似乎只有在pygame窗口前面有另一个窗口(在本例中是空闲窗口)时才会发生这种情况。如果选择/聚焦pygame窗口并设置鼠标位置,
pygame.mouse.get_pos()
将返回正确的坐标。尝试在事件循环中设置鼠标位置(按
s
键):
import pygame
pygame.init()
size = (800, 500)
screen = pygame.display.set_mode(size)
pygame.mouse.set_pos([100,100])
WHITE = (255,255,255)
clock = pygame.time.Clock()
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_s:
pygame.mouse.set_pos([100,100])
print(pygame.mouse.get_pos())
screen.fill(WHITE)
pygame.display.flip()
clock.tick(30)
pygame.quit()
或在命令行/终端中运行程序。