2011-08-17 16 views
5

Używam pygame do programowania prostego testu behawioralnego. Używam go na moim macbook pro i mam prawie całą funkcjonalność działa. Jednak podczas testów będę miał drugi, zewnętrzny monitor, który widzi badany i monitor laptopa. Chciałbym, aby gra była na pełnym ekranie na monitorze zewnętrznym, a nie na monitorze laptopa, tak aby móc monitorować wydajność. Obecnie, na początku pliku wygląda mniej więcej tak:pygame z dwoma monitorami i pełnoekranowym

#! /usr/bin/env python2.6 

import pygame 
import sys 

stdscr = curses.initscr() 
pygame.init() 
screen = pygame.display.set_mode((1900, 1100), pygame.RESIZABLE) 

Myślałam o uruchomieniu gry w resizable ekranie, ale OS X ma problemy zmiany rozmiaru okna.

Odpowiedz

7

Pygame nie obsługuje dwóch wyświetlaczy w jednym procesie pygame (jeszcze). Patrz pytanie here i deweloper odpowiedź immediately after, gdzie mówi

Po SDL 1.3 jest zakończona wtedy pygame uzyskać wsparcie dla korzystania z wielu okien w tym samym procesie.

więc opcje są:

  1. Stosować kilka procesów. Dwie instancje pygame, każda zmaksymalizowana na własnym ekranie, komunikująca się w tę iz powrotem (można użyć dowolnego z: bardzo fajnego python multiprocessing module, lokalnego TCP, potoków, plików do zapisu/odczytu itp.)
  2. Ustaw taką samą rozdzielczość dla obu swoich wyświetla i tworzy duże (szerokie) okno, które obejmuje je informacjami z jednej strony, a ekranem użytkownika z drugiej. Następnie ręcznie umieść okno tak, aby strona użytkownika była na ekranie, a Twoja na ekranie laptopa. To jest hacky, ale może lepiej wykorzystać Twój czas, niż zaprojektować lepsze rozwiązanie ("Jeśli to jest studpid i działa, to nie jest głupie";).
  3. Zastosowanie pyglet, który jest podobny do Pygame i supports full screen windows: pyglet.window.Window(fullscreen=True, screens[1])

Powodzenia.

+0

Mam podobny problem, gdy mam projektor dostarczający wzór światła, podczas gdy nadal chcę móc robić rzeczy w tle na innym monitorze. czy to możliwe? – user391339

+0

Pyglet nie obsługuje pełnoekranowych monitorów wielomonitorowych w systemie MacOS. Znalazłem to na własnej skórze po tym, jak spłukiwałem mnóstwo czasu, nie otrzymałem żadnych wyników i znalazłem ten komentarz w źródle Pyglet: "# BUG: Podejrzewam, że to nie działa dobrze podczas korzystania z wielu monitorów (co oznaczałoby przejdź do trybu pełnoekranowego na monitorze, na którym znajduje się okno), ale nie mam sposobu na sprawdzenie. " Nie działa i faktycznie znalazłem platformę * no * na MacOS, która może otworzyć wiele wyświetlaczy pełnoekranowych. –

Powiązane problemy