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

極客小將

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

資訊內(nèi)容

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

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

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

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)

注意:如果你的程序有什么問(wèn)題,很可能進(jìn)入了全屏模式就不太容易退出來(lái)了,所以最好先用窗口模式調(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) 基本上說(shuō)是一個(gè)用戶操作,如按鍵、點(diǎn)擊、鼠標(biāo)移動(dòng)等等,或者是一些提示信息,如系統(tǒng)生成的通知。

事件檢索

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

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

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

事件 產(chǎn)生途徑 參數(shù)
QUIT 用戶按下關(guān)閉按鈕 none
ATIVEEVENT Pygame被激活或者隱藏 gain, state
KEYDOWN 鍵盤(pán)被按下 unicode, key, mod
KEYUP 鍵盤(pán)被放開(kāi) key, mod
MOUSEMOTION 鼠標(biāo)移動(dòng) pos, rel, buttons
MOUSEBUTTONDOWN 鼠標(biāo)按下 pos, button
MOUSEBUTTONUP 鼠標(biāo)放開(kāi) 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 游戲手柄放開(kāi) joy, button
VIDEORESIZE Pygame窗口縮放 size, w, h
VIDEOEXPOSE Pygame窗口部分公開(kāi)(expose)? none
USEREVENT 觸發(fā)了一個(gè)用戶事件 code

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

預(yù)約試聽(tīng)課

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

主站蜘蛛池模板: 微博| 台东县| 秭归县| 东至县| 芮城县| 中西区| 天门市| 东乌| 元谋县| 肃宁县| 正镶白旗| 建昌县| 东安县| 石渠县| 利辛县| 昆明市| 宽甸| 彭阳县| 景德镇市| 安徽省| 吉木乃县| 双城市| 小金县| 十堰市| 钟祥市| 长海县| 桐庐县| 黄浦区| 鹤山市| 太白县| 承德县| 铜山县| 青浦区| 大英县| 海城市| 卓资县| 洪雅县| 高尔夫| 雷波县| 贞丰县| 保德县|