pygame双显示器和全屏

Mud*_*hud 6 python pygame

我正在使用pygame来编写一个简单的行为测试.我在我的macbook pro上运行它并且几乎所有功能都正常工作.但是,在测试期间,我将有一个主体看到的第二个外部显示器和笔记本电脑显示器.我想在外接显示器上全屏显示游戏,而不是在笔记本电脑的显示器上,以便我可以监控性能.目前,该文件的开头看起来像:

#! /usr/bin/env python2.6

import pygame
import sys

stdscr = curses.initscr()
pygame.init()
screen = pygame.display.set_mode((1900, 1100), pygame.RESIZABLE)
Run Code Online (Sandbox Code Playgroud)

我想在可调整大小的屏幕上启动游戏,但是OS X在调整窗口大小时遇到​​了问题.

cof*_*ode 8

Pygame在一个pygame进程中不支持两个显示(尚未).他说,看到这里的问题,开发人员立即回答

一旦SDL 1.3完成,那么pygame将获得在同一进程中使用多个窗口的支持.

所以,你的选择是:

  1. 使用多个流程.两个pygame实例,每个实例在其自己的屏幕上最大化,来回通信(您可以使用以下任何一个:非常酷的python多处理模块,本地TCP,管道,写入/读取文件等)
  2. 在两个显示器上设置相同的分辨率,并创建一个大(宽)窗口,将您的信息放在一半,用户显示在另一半上.然后手动放置窗口,以便用户侧在屏幕上,而您的用户在笔记本电脑屏幕上.它是hacky,但可能更好地利用你的时间,而不是设计一个更好的解决方案("如果它是笨拙的,它有效,它不是愚蠢的";).
  3. 使用pyglet,类似于pygame并支持全屏窗口:pyglet.window.Window(fullscreen=True, screens[1])

祝好运.