Pygame двойные мониторы и полноэкранные - PullRequest
6 голосов
/ 17 августа 2011

Я использую 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 возникают проблемы с изменением размера окна.

1 Ответ

8 голосов
/ 12 ноября 2011

Pygame не поддерживает два дисплея в одном процессе pygame (пока).См. Вопрос здесь и ответ разработчика сразу после , где он говорит:

Как только SDL 1.3 будет завершен, Pygame получит поддержку использования нескольких окон втот же процесс.

Итак, ваши варианты:

  1. Использовать несколько процессов.Два экземпляра Pygame, каждый из которых развернут на своем собственном экране, общаясь взад-вперед (вы можете использовать любой из: очень крутой модуль многопроцессорной обработки Python , локальный TCP, каналы, запись / чтение файлов и т. Д.)
  2. Установите одинаковое разрешение на обоих ваших дисплеях и создайте большое (широкое) окно, которое будет охватывать их вашей информацией на одной половине и пользовательским дисплеем на другой.Затем вручную поместите окно так, чтобы пользовательская сторона была на его экране, а ваша - на экране ноутбука.Это хакерство, но может быть лучше использовать ваше время, чем придумывать лучшее решение («Если это круто и работает, это не глупо»;).
  3. Используйте pyglet, который похож на pygame и поддерживает полноэкранные окна : pyglet.window.Window(fullscreen=True, screens[1])

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...