Найти - Пользователи
Полная версия: Как развернуть pygame окно через скрипт.
Начало » Python для новичков » Как развернуть pygame окно через скрипт.
1 2
HelpMePLeaseHD
Здравствуйте, возник вопрос как развернуть окно.
Я создал окно с помощью строки:
GameWindow = pygame.display.set_mode((0, 0), pygame.RESIZABLE)
Но окно не централизовано, а при попытке его централизовать через код окно централизуется криво.Но если же я нажму на квадрат в правом верхнем углу - “развернуть окно”,всё нормализуется.Как же сделать это автоматически через скрипт.Я долго скитался по безграничному интернету, но ничего существенного не нашел.Только разве что pygame.display.iconify() - сворачивает окно, а нужно обратное действие для этой строки.
Ocean
HelpMePLeaseHD
я правильно поняла, что тебе нужно при запуске игры окно pygame по умолчанию разворачивать в режим full screen?

Если да, то вот тут https://www.pygame.org/docs/ref/display.html#pygame.display.set_mode все кейсы описаны:
pygame.FULLSCREEN create a fullscreen display
pygame.DOUBLEBUF recommended for HWSURFACE or OPENGL
pygame.HWSURFACE hardware accelerated, only in FULLSCREEN
pygame.OPENGL create an OpenGL-renderable display
pygame.RESIZABLE display window should be sizeable
pygame.NOFRAME display window will have no border or controls

Когда задаю так, то сразу на полный экран открывается и подберет нужное разрешение
  
import pygame
 
pygame.init()
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

Можно задавать режим при необходимости и так: screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN|pygame.RESIZABLE)

Если задавать вот так screen = pygame.display.set_mode((400, 300), pygame.FULLSCREEN), то вокруг экрана будут черные рамки





HelpMePLeaseHD
Ocean
HelpMePLeaseHDя правильно поняла, что тебе нужно при запуске игры окно pygame по умолчанию разворачивать в режим full screen? Если да, то вот тут https://www.pygame.org/docs/ref/display.html#pygame.display.set_mode все кейсы описаны:pygame.FULLSCREEN create a fullscreen displaypygame.DOUBLEBUF recommended for HWSURFACE or OPENGLpygame.HWSURFACE hardware accelerated, only in FULLSCREENpygame.OPENGL create an OpenGL-renderable displaypygame.RESIZABLE display window should be sizeablepygame.NOFRAME display window will have no border or controlsКогда задаю так, то сразу на полный экран открывается и подберет нужное разрешение
К сожалению вы меня не правильно поняли.
Я тот сайт уже посетил, и информацию которую вы выше предоставили тоже знаю.
Это скорее моя вина, так как я не знаю такого термина который объяснит что я конкретно хочу сделать.Вообщем, на компьютере если вы сейчас читаете это сообщение в браузере, то он по идее у вас на весь экран.Но вам виден диспетчер задач, чтобы переключаться между окнами и мини-меню в правом верхнем углу.Вот такой тип окна я имею ввиду и его часто путают с fullscreen который полностью подавляет диспетчер задач и другое располагаясь на всём экране.Все строки кода которые вы мне предоставили вызывают fullscreen.Теперь вы можете прочитать мое первое сообщение и полностью понять что я хочу сделать(если не поняли).
HelpMePLeaseHD
Ах да,стоит сказать что то что я хочу сделать равносильно wm_state - zoomed в Tkinter.
py.user.next
Попробуй так
  
pygame.display.set_mode((10000, 10000), pygame.RESIZABLE)
HelpMePLeaseHD
py.user.next
Попробуй так
Этой строкой кода вы чуть не убили мой комп(
Главная проблема в том что окно не централизуется нормально, а его width и height меня устраивают.
Не думал я что создание обычного окна создаст столько проблем.
HelpMePLeaseHD
Я просто хочу создать обычное окно как в браузере.(всего-то)
Вот мой тест-скрипт.
import pygame

pygame.init()
GameWindow = pygame.display.set_mode((0, 0), pygame.RESIZABLE)
pygame.display.set_caption(“ShiningHero(Game Window)”)
clock = pygame.time.Clock()
player = Player()
print(“NikitaGamesProduction - ShiningHero”)
print(“Загрузка игры…”)

gameopen = True
while gameopen:
for Exit in pygame.event.get():
if Exit.type == pygame.QUIT:
gameopen = False
pygame.quit()
py.user.next
HelpMePLeaseHD
Этой строкой кода вы чуть не убили мой комп(
Главная проблема в том что окно не централизуется нормально, а его width и height меня устраивают.
У меня растянулось окно на весь экран.
  
>>> import pygame
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
>>> pygame.display.set_mode((10000, 10000), pygame.RESIZABLE)
<Surface(10000x10000x32 SW)>
>>>
Но у меня и не Windows.
HelpMePLeaseHD
Я до сих пор не могу понять почему создание обычного окна вызывает столько проблем.
Ocean
HelpMePLeaseHD
а есть игра или программа с нужным поведением?
скриншот будет очень кстати)
я так и не поняла
HelpMePLeaseHD
Но вам виден диспетчер задач, чтобы переключаться между окнами и мини-меню в правом верхнем углу.

я не помню как эта панель в виндоуз называется, на маке это Dock и есть системная верхняя панель Status bar
они могут как отображаться всегда, так и скрываться, это же настраиваемое поведение

скриншот ожидаемого результата очень поможет)

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB