2015-08-06 2 views
2

Я пытаюсь изменить положение мыши программно, в PyGame, используя свою мышь API:Изменение положения курсора мыши в полноэкранном режиме

from pygame import mouse 
mouse.set_pos(0, 0) 

Это, кажется, работает нормально в оконном режиме, но в полноэкранном режиме, ничего случается. Я попытался силой сделать курсор невидимым, показывая его снова, зря надеясь, что он сбросит все, но не повезет.


EDIT В интересах полного раскрытия, я не использую PyGame напрямую. Я использую OpenSesame, с его бэкэндом «Наследие» (который по сути является оболочкой над PyGame). Тем не менее, I do имеют доступ к примитивам PyGame, если это необходимо.

+0

Пробовали ли вы печать чтобы увидеть, вне зависимости от того, находится ли вне окна в полноэкранном режиме print pygame. mouse.get_pos() –

+0

Позвольте мне попробовать ... – Xophmeister

ответ

0

https://www.pygame.org/docs/ref/mouse.html#comment_pygame_mouse_get_pos

тест с печатью, чтобы увидеть, если 0,0 Coords находятся на экране

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() 
+0

Вместо использования PyGame напрямую я использую фреймворк-оболочку. (Так что, пожалуйста, несите меня!) Я напечатал результат 'get_pos' непосредственно перед и после попытки« set_pos »:« правильно »* правильно задает новую позицию (я фактически установил ее в центр экрана, а не '(0, 0)'), но фактический курсор остается статичным! – Xophmeister

+0

Я не уверен, что у меня была проблема, что это было вне экрана ... вы можете попробовать screen = pygame.display.set_mode ((0, 0), pygame.FULLSCREEN) эта страница может помочь вам [Примеры кода Python для pygame.FULLSCREEN] (http://www.programcreek.com/python/example/7475/pygame.FULLSCREEN) –

+0

Это выполняется каркасом. Просматривая свой код, он выполняет 'set_mode (res, pygame.FULLSCREEN)', где 'res' задано разрешение, которое я запросил (в моем случае' (1366, 768) '). – Xophmeister

Смежные вопросы