Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pygame双显示器和全屏_Python_Pygame - Fatal编程技术网

Python pygame双显示器和全屏

Python pygame双显示器和全屏,python,pygame,Python,Pygame,我正在使用pygame编程一个简单的行为测试。我在我的MacBookPro上运行它,几乎所有的功能都能正常工作。然而,在测试过程中,我会有第二个受试者看到的外部显示器和笔记本电脑显示器。我想让游戏在外置显示器上全屏显示,而不是在笔记本电脑的显示器上,这样我就可以监控性能。当前,文件的开头类似于: #! /usr/bin/env python2.6 import pygame import sys stdscr = curses.initscr() pygame.init() screen =

我正在使用pygame编程一个简单的行为测试。我在我的MacBookPro上运行它,几乎所有的功能都能正常工作。然而,在测试过程中,我会有第二个受试者看到的外部显示器和笔记本电脑显示器。我想让游戏在外置显示器上全屏显示,而不是在笔记本电脑的显示器上,这样我就可以监控性能。当前,文件的开头类似于:

#! /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进程中显示两个屏幕(目前)。查看问题和开发人员的答案,他说

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

因此,您的选择是:

  • 使用多个进程。两个pygame实例,每个都在自己的屏幕上最大化,来回通信(您可以使用任何一个:非常酷的本地TCP、管道、写入/读取文件等)
  • 在两个显示器上设置相同的分辨率,并创建一个大(宽)窗口,其中一半显示您的信息,另一半显示用户。然后手动放置窗口,以便用户端位于他们的屏幕上,而您的窗口位于笔记本电脑屏幕上。这是一个骇客程序,但可能比设计一个更好的解决方案更好地利用您的时间(“如果它是studpid并且有效,它并不愚蠢”)
  • 使用pyglet,它类似于pygame和:
    pyglet.window.window(全屏=True,屏幕[1])

  • 祝你好运。

    我不知道你是否能在OS X中做到这一点,但这对于Windows用户来说是值得一提的,如果你只想让你的程序在第二个屏幕上全屏运行,而你在Windows上,只需将另一个屏幕设置为主屏幕

    可在“设置”中的“重新排列显示器”下找到该设置


    到目前为止,对于我来说,我可以在主显示器上运行的任何东西都可以以这种方式运行,无需更改代码。

    我有一个类似的问题,我有一个投影仪提供一种光的模式,而我仍然希望能够在另一个显示器上的背景中进行操作。这可能吗?Pyglet不支持MacOS上的多显示器全屏。我花了很多时间才发现这一点,但没有得到任何结果,并且在Pyglet源代码中找到了这样一条评论:“#BUG:我怀疑这在使用多个监视器时(即在窗口所在的监视器上全屏显示)做得不对。但是我没有办法进行测试。”它不起作用,事实上,我在MacOS上还没有发现可以打开多个全屏显示的平台。