在這篇教程中,我將給出一個demo演示:
當我們按下鍵盤的‘f'鍵的時候,演示的窗口會切換到全屏顯示和默認顯示兩種顯示模式
并且在后臺我們可以看到相關的信息輸出:
上面給出了一個簡單的例子,當然在pygame的官方文檔中有對顯示策略的更權威的說明:
http://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 '''
代碼部分:
#pygame fullscreen import os, pygame from pygame.locals import * from sys import exit ''' 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 ''' __author__ = {'name' : 'Hongten', 'mail' : 'hongtenzone@foxmail.com', 'Version' : '1.0'} BG_IMAGE = 'C://py//bg.png' SCREEN_DEFAULT_SIZE = (500, 500) pygame.init() #create the image path bg_path = os.path.join('data', BG_IMAGE) if not os.path.exists(bg_path): print('The BackGround Image does not exist!') screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, 0, 32) bg = pygame.image.load(bg_path).convert() #full screen flag full_screen = False while 1: for event in pygame.event.get(): if event.type == QUIT: exit() if event.type == KEYDOWN: #when press the 'f',then change the screen display model if event.key == K_f: full_screen = not full_screen if full_screen: print('Open the Fullscreen model!') else: print('Open the Default model!') if full_screen: #full screen display model screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, FULLSCREEN, 32) else: #default model screen = pygame.display.set_mode(SCREEN_DEFAULT_SIZE, 0, 32) screen.blit(bg, (0, 0)) pygame.display.update()
完整實例代碼代碼點擊此處本站下載。
希望本文所述對大家Python程序設計有所幫助。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com