2011-08-17 114 views
5

我使用pygame的一个简单的行为测试程序。我在我的MacBook Pro上运行它,并具有几乎所有的功能。但是,在测试过程中,我会有第二个外部显示器,主体可以看到笔记本电脑显示器。我想让游戏在外接显示器上全屏显示,而不是在笔记本电脑的显示器上,以便我可以监控性能。目前,该文件的开头看起来像:pygame的双显示器和全屏

#! /usr/bin/env python2.6 

import pygame 
import sys 

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

我想开始在一个可调整大小的屏幕上的游戏,但OS X有调整窗口的大小问题。

回答

7

Pygame的不支持两个显示在一个单一的处理pygame的(还)。看到问题here和开发人员的回答immediately after,他说

一旦SDL 1.3完成再pygame的将获得在相同的工艺使用多窗口的支持。

所以,你的选择是:

  1. 使用多个进程。二pygame的情况下,各最大化自己的屏幕上,来回通信(你可以使用任何的:非常酷的python multiprocessing module,本地TCP,管道,写入/读取文件等)
  2. 设置在两个相同的分辨率的显示并创建一个大的(宽)窗口,其中包含一半的信息,另一半显示用户的信息。然后手动放置窗口,以便用户端位于其屏幕上,而您的位于笔记本电脑屏幕上。这很不方便,但可能更好地利用你的时间,而不是设计一个更好的解决方案(“如果它是个好东西,它起作用,它不是愚蠢的”)。
  3. 使用pyglet,这是类似的Pygame和supports full screen windowspyglet.window.Window(fullscreen=True, screens[1])

好运。

+0

我有一个类似的问题,我有一个投影仪提供光的图案,而我还是希望能够做的东西在其他显示器上的背景。这可能吗? – user391339

+0

Pyglet不支持MacOS上的多显示器全屏显示。经过大量时间,没有结果,并在Pyglet源代码中找到这条评论后,我发现这很困难:“#BUG:我怀疑这在使用多个显示器时不会正确(这可能会导致在窗口所在的显示器上全屏显示),但我无法测试。“它不起作用,事实上,我在MacOS上发现了* no *平台,可以打开多个全屏显示。 –