Pygameでモニターの解像度を取得し、これらの寸法を使用してウィンドウを作成して、プログラムを起動するとモニターの解像度が検出され、ウィンドウがフルスクリーンの画面に自動的に収まるようにできるかどうか疑問に思っています。
現在、ウィンドウを作成するためにpygame.display.set_mode((AN_INTEGER, AN_INTEGER))
を使用しています。 pygame.display.Info()
を使用してモニターの解像度を含むビデオ情報を取得できることは承知していますが、これらの値を抽出してpygame.display.set_mode()
???で使用するにはどうすればよいですか?
Ilmiontよろしくお願いいたします。
pygame.display.Info()
を使用できます:
docs と言う:
current_h、current_w:現在のビデオモード、またはdisplay.set_modeが呼び出される前に呼び出された場合はデスクトップモードの高さと幅。
(current_h、current_wは、SDL 1.2.10以降、およびpygame 1.8.0以降で使用できます)エラーの場合、または古いSDLが使用されている場合は、-1です。1.8.0)
pygame.display.Info()
は、属性current_h
およびcurrent_w
を持つInfoオブジェクトを作成します。 display.set_mode
を呼び出す前にInfoオブジェクトを作成し、次にオブジェクトからdisplay.set_mode
およびcurrent_h
を指定してcurrent_w
を呼び出します。
例:
infoObject = pygame.display.Info()
pygame.display.set_mode((infoObject.current_w, infoObject.current_h))
これが機能するかどうかはわかりませんが、フルスクリーンウィンドウが必要な場合は、以下を使用します。
pygame.display.set_mode((0,0),pygame.FULLSCREEN)
(もちろん、あなたはまだimport pygame
)。
Pygameについてはあまり知りませんが、モジュールwin32api
を使用する方法を次に示します。
from win32api import GetSystemMetrics
width = GetSystemMetrics(0)
height = GetSystemMetrics(1)
更新: docs を一見すると、次のようにpygame.display.Info
から取得できるようです:
width, height = pygame.display.Info().current_w, pygame.display.Info().current_h
お役に立てれば!