Pygame 使用pygame.display顯示模塊中的方法創(chuàng)建游戲的主窗口:
screen = pygame.display.set_mode(size=(),flags=0)
上述函數(shù)有兩個(gè)參數(shù)常用參數(shù):
標(biāo)志位 | 功能 |
---|---|
pygame.FULLSCREEN | 創(chuàng)建一個(gè)全屏窗口。 |
pygame.HWSURFACE | 創(chuàng)建一個(gè)硬件加速窗口,必須和 FULLSCREEN 同時(shí)使用。 |
pygame.OPENGL | 創(chuàng)建一個(gè) OPENGL 渲染窗口。 |
pygame.RESIZABLE | 創(chuàng)建一個(gè)可以改變大小的窗口。 |
pygame.DOUBLEBUF | 創(chuàng)建一個(gè)雙緩沖區(qū)窗口,建議在 HWSURFACE 或者 OPENGL 時(shí)使用。 |
pygame.NOFRAME | 創(chuàng)建一個(gè)沒(méi)有邊框的窗口。 |
體驗(yàn)過(guò)電腦游戲的朋友們都知道,當(dāng)運(yùn)行程序后會(huì)在電腦桌面上出現(xiàn)一個(gè)游戲的主窗口,這個(gè)主窗口的本質(zhì)是一個(gè) surface 對(duì)象,把理解為畫(huà)布、畫(huà)板、白紙?jiān)诤线m不過(guò)了,它相當(dāng)于一個(gè)載體,用于承載一切游戲所用到的元素。假如您需要將一段文本方放置到主窗口中,那么您需要先創(chuàng)建一個(gè)包含文本的 surface 對(duì)象,之后再將它附加到主窗口上。簡(jiǎn)單的理解,就是將一張圖 A 粘貼到另一張圖 B 上。
主窗口(screen)相當(dāng)于游戲程序中尺寸最大的 Surface 對(duì)象,在這個(gè)最大的“畫(huà)布”中,我們還可以添加其他“小”的 Surface 對(duì)象,這些對(duì)象以矩形的形式存在于主窗口中,它們共同組成了一個(gè)游戲程序。通過(guò)下列方法可以將一個(gè) Surface 對(duì)象粘貼至主窗口上:
scrren.blit(source, dest, area=None, special_flags = 0)
下面對(duì)上述參數(shù)做簡(jiǎn)單的介紹:
除了創(chuàng)建游戲的主窗口之外,display 模塊還提供了許多的和“顯示”相關(guān)的方法,比如設(shè)置游戲窗口的名稱,如下表所示
import sys
import pygame
#使用pygame之前必須初始化
pygame.init()
#設(shè)置主屏窗口
screen = pygame.display.set_mode((400,400))
#填充主窗口的背景顏色,參數(shù)值RGB(顏色元組)
screen.fill((156,156,156))
#設(shè)置窗口標(biāo)題
pygame.display.set_caption('W3Cschool')
# 如果沒(méi)有下列主循環(huán)代碼,運(yùn)行結(jié)果會(huì)一閃而過(guò)
while True:
# 循環(huán)獲取事件,監(jiān)聽(tīng)事件
for event in pygame.event.get():
# 判斷用戶是否點(diǎn)了關(guān)閉按鈕
if event.type == pygame.QUIT:
#卸載所有模塊
pygame.quit()
#終止程序
sys.exit()
#更新屏幕內(nèi)容
pygame.display.flip()
程序的運(yùn)行結(jié)果如下所示:
圖1:Pygame程序運(yùn)行結(jié)果
pygame.display 模塊還提供了一些和“顯示”相關(guān)的其他方法,如下表所示:
方法名稱 | 說(shuō)明 |
---|---|
pygame.display.get_surface() | 獲取當(dāng)前顯示的 Surface 對(duì)象。 |
pygame.display.flip() | 更新整個(gè)待顯示的 Surface 對(duì)象到屏幕上。 |
pygame.display.update() | 更新部分軟件界面顯示。 |
pygame.display.Info() | 產(chǎn)生一個(gè) VideoInfo 對(duì)象,包含了顯示界面的相關(guān)信息。 |
pygame.display.set_icon() | 設(shè)置左上角的游戲圖標(biāo),圖標(biāo)尺寸大小為 32*32。 |
pygame.display.iconify() | 將顯示的主窗口即 Surface 對(duì)象最小化,或者隱藏。 |
pygame.display.get_active() | 當(dāng)前顯示界面顯示在屏幕上時(shí)返回 True,如果窗口被隱藏和最小化則返回 False。 |
更多建議: