我正在使用 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)
我曾考虑在可调整大小的屏幕中开始游戏,但 OS X 在调整窗口大小方面存在问题。
最佳答案
Pygame 不支持在单个 pygame 进程中显示两个屏幕(目前)。见问题here和开发者回答immediately after ,他说
Once SDL 1.3 is finished then pygame will get support for using multiple windows in the same process.
因此,您的选择是:
- 使用多个流程。两个 pygame 实例,每个都在自己的屏幕上最大化,来回通信(您可以使用以下任何一个:非常酷的 python multiprocessing module 、本地 TCP、管道、写入/读取文件等)
- 在两个显示器上设置相同的分辨率,并创建一个跨越它们的大(宽)窗口,一半是您的信息,另一半是用户显示。然后手动放置窗口,使用户侧位于他们的屏幕上,而您的位于笔记本电脑屏幕上。这很老套,但可能比设计更好的解决方案更好地利用您的时间(“如果它很愚蠢并且有效,那它并不愚蠢”;)。
- 使用pyglet,类似于pygame 和supports full screen windows :
pyglet.window.Window(fullscreen=True, screens[1])
祝你好运。
关于python - pygame双显示器和全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64495381/