を使用してウィンドウを作成しました
pygame.display.set_mode((width, height),
pygame.OPENGL | pygame.DOUBLEBUF | pygame.RESIZABLE)
後でアプリの中で、そのウィンドウの幅と高さを確認できるようにして、マウスの位置を処理する方法を決定できるようにします。
プログラムの他の場所でそのpygameウィンドウのサイズにアクセスするにはどうすればよいですか? (イベント処理ループ)
表面を取得してから、表面オブジェクトからサイズを取得します。
タプルの解凍を使用する:
w, h = pygame.display.get_surface().get_size()
最初に表示面を取得することで、ウィンドウサイズを取得できます。 pygame.display.get_surface()、次にサーフェスでget_width()/ get_height()を呼び出します。
このような!
surface = pygame.display.get_surface() #get the surface of the current active display
x,y = size = surface.get_width(), surface.get_height()#create an array of surface.width and surface.height
changed = False
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit(0)
if event.type == pygame.VIDEORESIZE:
scrsize = event.size # or event.w, event.h
screen = pygame.display.set_mode(scrsize,RESIZABLE)
changed = True
pygame.display.initのドキュメントページのコメントでほぼ同じです https://www.pygame.org/docs/ref/display.html#comment_pygame_display_update 2011-01からわずかに編集されました- 25T23:10:35-デイブバートン、デイブに感謝
これはまだ見ていないので、別の答えを追加します。
_screen = pygame.display.set_mode() # Default to screen resolution.
area = screen.get_rect()
_
サーフェスオブジェクトなので、画面上でget_rect()
を呼び出すことができます。 area
は、(0、0、幅、高さ)情報を含むRectオブジェクトになります。
import pygame as pg
def create_window(width, height):
"""create a width x height resizable window/frame"""
win = pg.display.set_mode((width, height), pg.RESIZABLE)
# optional fill bg red, default is black
win.fill((255, 0, 0))
# optional title info
sf = "size x=%s y=%s" % (width, height)
pg.display.set_caption(sf)
# any extra code here ...
# draw a white circle
white = (255, 255, 255)
# center can be fixed or calculated for resize
center = (150, 150)
radius = 100
pg.draw.circle(win, white, center, radius)
pg.display.flip()
return win
pg.init()
width = 300
height = 200
win = create_window(width, height)
# event loop and exit conditions (windows titlebar x click)
while True:
for event in pg.event.get():
if event.type == pg.VIDEORESIZE:
width, height = event.size
# redraw win in new size
win = create_window(width, height)
print(win.get_size()) # test
if event.type == pg.QUIT:
raise SystemExit
これを試してみてください。
それが役に立てば幸い。
gameDisplay = pygame.display.set_mode((800,600))
x = gameDisplay.get_width()
y = gameDisplay.get_height()