国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁 » python編程資訊

資訊內(nèi)容

pygame事件處理游戲界面進(jìn)行全屏切換

極客小將2020-10-30-
通過按鍵事件學(xué)習(xí)如何通過一個(gè)按鍵來控制游戲窗口在全屏和窗口之間進(jìn)行切換。

我們?cè)诘谝粋€(gè)程序里使用了如下的語句

screen = pygame.display.set_mode((640, 480), 0, 32)

也講述了各個(gè)參數(shù)的意思,當(dāng)我們把第二個(gè)參數(shù)設(shè)置為FULLSCREEN時(shí),就能得到一個(gè)全屏窗口了

screen = pygame.display.set_mode((640, 480), FULLSCREEN, 32)

注意:如果你的程序有什么問題,很可能進(jìn)入了全屏模式就不太容易退出來了,所以最好先用窗口模式調(diào)試好,再改為全屏模式。

看一下這個(gè)示例:

background_image_filename = './img/Spaceship.png'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
background = pygame.image.load(background_image_filename).convert()
Fullscreen = False
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
        if event.type == KEYDOWN:
            if event.key == K_f:
                Fullscreen = not Fullscreen
                if Fullscreen:
                    screen = pygame.display.set_mode((640, 480), FULLSCREEN, 32)
                else:
                    screen = pygame.display.set_mode((640, 480), 0, 32)
    screen.blit(background, (0,0))
    pygame.display.update()

運(yùn)行這個(gè)程序,默認(rèn)還是窗口的,按“f ”,顯示模式會(huì)在窗口和全屏之間切換。

事件(Event) 基本上說是一個(gè)用戶操作,如按鍵、點(diǎn)擊、鼠標(biāo)移動(dòng)等等,或者是一些提示信息,如系統(tǒng)生成的通知。

事件檢索

上面程序中,使用了pygame.event.get()來處理所有的事件,這好像打開大門讓所有的人進(jìn)入。然后根據(jù)需要進(jìn)行篩選,過濾,根據(jù)不同的事件類型進(jìn)行處理。

在上面的程序中如果是用戶按下關(guān)閉按鈕(QUIT),那么執(zhí)行推出;如果是鍵盤按鍵按下事件(KEYDOWN),判斷是否是f鍵,然后進(jìn)行全屏切換。

下表是一個(gè)常用事件集:

事件 產(chǎn)生途徑 參數(shù)
QUIT 用戶按下關(guān)閉按鈕 none
ATIVEEVENT Pygame被激活或者隱藏 gain, state
KEYDOWN 鍵盤被按下 unicode, key, mod
KEYUP 鍵盤被放開 key, mod
MOUSEMOTION 鼠標(biāo)移動(dòng) pos, rel, buttons
MOUSEBUTTONDOWN 鼠標(biāo)按下 pos, button
MOUSEBUTTONUP 鼠標(biāo)放開 pos, button
JOYAXISMOTION 游戲手柄(Joystick or pad)移動(dòng) joy, axis, value
JOYBALLMOTION 游戲球(Joy ball)?移動(dòng) joy, axis, value
JOYHATMOTION 游戲手柄(Joystick)?移動(dòng) joy, axis, value
JOYBUTTONDOWN 游戲手柄按下 joy, button
JOYBUTTONUP 游戲手柄放開 joy, button
VIDEORESIZE Pygame窗口縮放 size, w, h
VIDEOEXPOSE Pygame窗口部分公開(expose)? none
USEREVENT 觸發(fā)了一個(gè)用戶事件 code

本站部分內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員及時(shí)刪除。

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 牙克石市| 邵阳市| 察雅县| 防城港市| 于都县| 汉中市| 桦川县| 德令哈市| 正蓝旗| 当雄县| 手游| 临清市| 开鲁县| 文安县| 沾益县| 辛集市| 西乌珠穆沁旗| 宁德市| 阳朔县| 论坛| 扶余县| 涪陵区| 文登市| 安化县| 上林县| 常宁市| 鲁山县| 迁安市| 白玉县| 隆安县| 富川| 彭山县| 许昌县| 顺昌县| 邻水| 金沙县| 海原县| 九台市| 饶平县| 城固县| 宜兰县|