python - pygame双显示器和全屏

标签 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)

我曾考虑在可调整大小的屏幕中开始游戏,但 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.

因此,您的选择是:

  1. 使用多个流程。两个 pygame 实例,每个都在自己的屏幕上最大化,来回通信(您可以使用以下任何一个:非常酷的 python multiprocessing module 、本地 TCP、管道、写入/读取文件等)
  2. 在两个显示器上设置相同的分辨率,并创建一个跨越它们的大(宽)窗口,一半是您的信息,另一半是用户显示。然后手动放置窗口,使用户侧位于他们的屏幕上,而您的位于笔记本电脑屏幕上。这很老套,但可能比设计更好的解决方案更好地利用您的时间(“如果它很愚蠢并且有效,那它并不愚蠢”;)。
  3. 使用pyglet,类似于pygame 和supports full screen windows : pyglet.window.Window(fullscreen=True, screens[1])

祝你好运。

关于python - pygame双显示器和全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64495381/

相关文章:

python - 简单程序中的错误: TypeError: into object has no attribute '__getitem__'

python - BeautifulSoup 不限制Python的结果

python - SymPy 无法正确呈现多字符下标

python - 如何润色/完善 wxPython TextCtrls 的定位和外观?

Python - 从具有可变属性和行长度的文件中读取数据

python - 在迁移中保留数据

Python/Pygame - 创建 "End credits"就像电影结尾处的那样

python - 如何使用Pygame将图像绕其中心旋转?

python - PyGame 中的声音缩短

python - 两人游戏时同时按下多个键的问题