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

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

pygame事件處理游戲界面進行全屏切換

極客小將2020-10-30-
通過按鍵事件學習如何通過一個按鍵來控制游戲窗口在全屏和窗口之間進行切換。

我們在第一個程序里使用了如下的語句

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

也講述了各個參數的意思,當我們把第二個參數設置為FULLSCREEN時,就能得到一個全屏窗口了

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

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

看一下這個示例:

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()

運行這個程序,默認還是窗口的,按“f ”,顯示模式會在窗口和全屏之間切換。

事件(Event) 基本上說是一個用戶操作,如按鍵、點擊、鼠標移動等等,或者是一些提示信息,如系統生成的通知。

事件檢索

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

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

下表是一個常用事件集:

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

本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 井冈山市| 全南县| 房产| 舒城县| 杂多县| 原平市| 墨脱县| 葫芦岛市| 漳州市| 德昌县| 临澧县| 阿尔山市| 西贡区| 罗城| 镇沅| 苍南县| 江北区| 昂仁县| 溧水县| 洛隆县| 温宿县| 柳江县| 水城县| 镇原县| 即墨市| 屏东市| 平江县| 邮箱| 富源县| 大连市| 岳阳市| 和田县| 松原市| 万安县| 宜宾市| 隆昌县| 柳江县| 成都市| 弥渡县| 天门市| 淮滨县|