Python 在全屏模式下更改鼠标光标位置

Python 在全屏模式下更改鼠标光标位置,python,pygame,mouse,fullscreen,Python,Pygame,Mouse,Fullscreen,我尝试在PyGame中使用鼠标API以编程方式更改鼠标位置: from pygame import mouse mouse.set_pos(0, 0) 这在窗口模式下似乎可以正常工作,但在全屏模式下,什么都不会发生。我曾尝试强制使光标不可见,然后再次显示它,徒劳地希望它能重置该对象,但没有运气 编辑为了充分披露,我没有直接使用PyGame。我正在使用它的“遗留”后端(本质上是PyGame的包装器)。但是,如果需要,我可以访问PyGame原语。 使用打印进行测试,查看屏幕上是否有0,0个坐标

我尝试在PyGame中使用鼠标API以编程方式更改鼠标位置:

from pygame import mouse
mouse.set_pos(0, 0)
这在窗口模式下似乎可以正常工作,但在全屏模式下,什么都不会发生。我曾尝试强制使光标不可见,然后再次显示它,徒劳地希望它能重置该对象,但没有运气


编辑为了充分披露,我没有直接使用PyGame。我正在使用它的“遗留”后端(本质上是PyGame的包装器)。但是,如果需要,我可以访问PyGame原语。

使用打印进行测试,查看屏幕上是否有0,0个坐标

Python 2.7

#!/usr/bin/python
import pygame
from pygame.locals import *

def main():
   pygame.init()
   pygame.display.set_mode((300,200))
   pygame.display.set_caption('Testing')
   running = True
   while running:
      for event in pygame.event.get():
         if event.type == QUIT:
            running = False
         if event.type == KEYDOWN and event.key == K_ESCAPE:
            running = False
         if event.type == MOUSEBUTTONDOWN:
            #print event.button
           print pygame.mouse.get_pos()
   pygame.display.quit()

if __name__ == '__main__':
   main()
Python 3.4

#!/usr/bin/python
import pygame
from pygame.locals import *

def main():
   pygame.init()
   pygame.display.set_mode((300,200))
   pygame.display.set_caption('Testing')
   running = True
   while running:
      for event in pygame.event.get():
         if event.type == QUIT:
            running = False
         if event.type == KEYDOWN and event.key == K_ESCAPE:
            running = False
         if event.type == MOUSEBUTTONDOWN:
            #print event.button
           print(pygame.mouse.get_pos())
   pygame.display.quit()

if __name__ == '__main__':
   main()

您是否尝试了打印事件,以查看它是否在全屏模式下的窗口外打印pygame.mouse.get_pos(),而不是直接使用pygame,我使用的是包装器框架。(所以请耐心等待!)我在尝试
设置\u pos
前后打印了
获取\u pos
的结果:它正确地报告了新位置(我实际上将其设置到了屏幕的中心,而不是
(0,0)
),但实际光标保持静止!我不确定当时,我有一个问题,它是在屏幕外。。。您可以尝试screen=pygame.display.set_模式((0,0),pygame.FULLSCREEN)此页面可能会帮助您完成框架正在完成的操作。查看他们的代码,它正在执行
set\u模式(res,pygame.FULLSCREEN)
,其中
res
被设置为我请求的分辨率(在我的例子中是
(1366768)
)。