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

極客小將

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

資訊內(nèi)容

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

極客小將2020-10-30-
通過按鍵事件學(xué)習(xí)如何通過一個(gè)按鍵來控制游戲窗口在全屏和窗口之間進(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)

注意:如果你的程序有什么問題,很可能進(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)的,你也試試吧...

主站蜘蛛池模板: 旌德县| 抚宁县| 花莲市| 阳曲县| 安岳县| 江津市| 兴城市| 东源县| 永春县| 墨江| 织金县| 沿河| 内丘县| 高唐县| 香河县| 孝义市| 高陵县| 孟村| 温州市| 新巴尔虎右旗| 壶关县| 龙里县| 内丘县| 阿拉善左旗| 彝良县| 叙永县| 陇西县| 吴堡县| 紫阳县| 赣榆县| 固始县| 东丽区| 子洲县| 珠海市| 舟曲县| 河池市| 九台市| 文昌市| 卢氏县| 仙居县| 宁武县|