Уведомления

Группа в Telegram: @pythonsu

#1 Июль 7, 2021 22:59:51

HelpMePLeaseHD
Зарегистрирован: 2021-07-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

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

Отредактировано HelpMePLeaseHD (Июль 7, 2021 23:01:07)

Офлайн

#2 Июль 7, 2021 23:55:02

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

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), то вокруг экрана будут черные рамки





Отредактировано Ocean (Июль 8, 2021 00:39:31)

Офлайн

#3 Июль 8, 2021 10:40:38

HelpMePLeaseHD
Зарегистрирован: 2021-07-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

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 (Июль 8, 2021 10:42:38)

Офлайн

#4 Июль 8, 2021 10:49:49

HelpMePLeaseHD
Зарегистрирован: 2021-07-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

Ах да,стоит сказать что то что я хочу сделать равносильно wm_state - zoomed в Tkinter.

Офлайн

#5 Июль 8, 2021 11:29:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

Попробуй так

  
pygame.display.set_mode((10000, 10000), pygame.RESIZABLE)



Офлайн

#6 Июль 8, 2021 11:35:06

HelpMePLeaseHD
Зарегистрирован: 2021-07-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

py.user.next
Попробуй так
Этой строкой кода вы чуть не убили мой комп(
Главная проблема в том что окно не централизуется нормально, а его width и height меня устраивают.
Не думал я что создание обычного окна создаст столько проблем.

Офлайн

#7 Июль 8, 2021 11:36:38

HelpMePLeaseHD
Зарегистрирован: 2021-07-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

Я просто хочу создать обычное окно как в браузере.(всего-то)
Вот мой тест-скрипт.
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()

Отредактировано HelpMePLeaseHD (Июль 8, 2021 11:38:41)

Офлайн

#8 Июль 8, 2021 12:19:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

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.



Офлайн

#9 Июль 8, 2021 12:58:21

HelpMePLeaseHD
Зарегистрирован: 2021-07-06
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

Я до сих пор не могу понять почему создание обычного окна вызывает столько проблем.

Офлайн

#10 Июль 8, 2021 18:02:24

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Как развернуть pygame окно через скрипт.

HelpMePLeaseHD
а есть игра или программа с нужным поведением?
скриншот будет очень кстати)
я так и не поняла

HelpMePLeaseHD
Но вам виден диспетчер задач, чтобы переключаться между окнами и мини-меню в правом верхнем углу.

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

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

Отредактировано Ocean (Июль 8, 2021 18:03:26)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version