2011-08-17 27 views
5

Basit bir davranış testi programlamak için pygame kullanıyorum. MacBook Pro'yu çalıştırıyorum ve neredeyse tüm işlevselliği çalışıyor. Ancak, test sırasında konunun gördüğü ikinci bir harici monitöre ve dizüstü bilgisayar monitörüne sahip olacağım. Performansı izleyebilmek için oyunu dizüstü bilgisayar monitöründe değil, harici monitörde tam ekran olmasını istiyorum. Şu anda, dosyanın başlangıç ​​şöyle görünür:pygame çift monitör ve tam ekran

#! /usr/bin/env python2.6 

import pygame 
import sys 

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

Ben yeniden boyutlandırılabilir ekranda oyuna başlamadan düşünüyordum, ama bu OS X pencere boyutlandırma sorunları var.

cevap

7

Pygame, tek bir pygame işleminde iki ekranı desteklemiyor (henüz). o SDL 1.3 sonra tamamlandıktan sonra pygame aynı süreçte birden fazla pencere kullanımıyla ilgili destek alacak

diyor soru here ve geliştirici cevap immediately after, bakınız.

Yani, seçenekler şunlardır:

  1. kullanın çoklu işlemler. Her biri kendi ekranında en üst düzeye çıkarılan iki pokey örneği, (ileride python multiprocessing module, yerel TCP, borular, yazma/okuma dosyaları, vb.)
  2. Her ikisinde de aynı çözünürlüğü ayarlayın. görüntüler ve onları bir buçukta ve diğer kullanıcı ekranında görüntülenenle genişleyen geniş (geniş) bir pencere oluşturur. Daha sonra pencereyi manuel olarak, kullanıcı tarafının ekranı üzerinde olacak ve sizinki de dizüstü bilgisayar ekranında olacak şekilde yerleştirin. Bu hacky, ama daha iyi bir çözüm mühendislik daha iyi bir kullanım olabilir ("Eğer bu studpid ve çalışırsa, o aptal değil";). pygame benzer ve supports full screen windows olduğunu
  3. Kullanım pyglet: pyglet.window.Window(fullscreen=True, screens[1])

iyi şanslar.

+0

Benzer bir sorun var, projektör bir ışık paterni veriyor, oysa yine de diğer monitörde arka planda bir şeyler yapmak istiyorum. Mümkün mü? – user391339

+0

Pyglet, MacOS'ta çoklu monitör tam ekranlarını desteklemez. Çok fazla zaman geçtikten, sonuç almadığından ve Pyglet kaynağında bu yorumu bularak bunu zor yoldan buldum: "# BUG: Birden fazla monitör kullanırken bu doğru şeyi yapmadığından şüpheleniyorum. pencerenin bulunduğu monitörde tam ekrana git. Ancak, test etmenin bir yolu yok. " Çalışmıyor ve aslında MacOS'ta çoklu tam ekranlı ekranlar açabilen * hayır * bir platform buldum. –