最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?pygame項目實戰(zhàn)監(jiān)聽退出事件

 更新時間:2022年08月15日 08:28:01   作者:ZacheryZHANG???????  
這篇文章主要介紹了Python?pygame項目實戰(zhàn)監(jiān)聽退出事件,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

1. 事件監(jiān)聽

首先,我們簡單回顧一下事件監(jiān)聽,可以簡單概括如下:

  • 在游戲循環(huán)中,我們希望判斷用戶具體操作
  • 只有捕獲到用戶具體的操作,才能有針對性的做出響應
  • 簡而言之,在游戲循環(huán)中編寫一小段代碼,通過這一小段代碼,判斷用戶的具體操作行為,這個就叫做監(jiān)聽

注意:我們想在游戲中實現(xiàn)監(jiān)聽退出事件并且退出游戲,其實代碼非常固定(代碼形式都差不多),因為幾乎所有的pygame游戲都大同小異。

2. 案例演示

2.1 案例大體思路

代碼實現(xiàn)大體思路:首先,我們考慮在游戲循環(huán)內(nèi)部再增加一個for循環(huán),來檢測一下當前這一時刻到底發(fā)生了哪些事件。然后,在循環(huán)體內(nèi)部,再增加一個條件判斷,判斷一下事件類型是否是pygame定義的QUIT事件(對應的就是用戶點擊的關(guān)閉按鈕)。一旦發(fā)現(xiàn)用戶點擊關(guān)閉按鈕,我們就可以在if語句下方,編寫代碼退出程序。

  • pygame.QUIT方法可以將所有pygame的模塊做一個卸載。
  • exit()將當前執(zhí)行的程序直接退出,將當前正在執(zhí)行的程序做一個終止。

2.2 代碼演示

具體代碼演示如下所示:可以在上一節(jié)(本專欄上一篇文章)中代碼的基礎上進行修改。

import pygame
pygame.init()

# 創(chuàng)建游戲的窗口 640*642
screen = pygame.display.set_mode((640, 642))

# 繪制背景圖像
bg = pygame.image.load("./飛機大戰(zhàn)資料包/images/background1.jpg")
screen.blit(bg, (0, 0))

# 繪制英雄的飛機
hero = pygame.image.load("./飛機大戰(zhàn)資料包/images/me1.png")
screen.blit(hero, (280, 500))

# 可以在所有繪制工作完成之后,統(tǒng)一調(diào)用update方法
pygame.display.update()

# 創(chuàng)建時鐘對象
clock = pygame.time.Clock()

# 游戲循環(huán)->意味著游戲的正式開始

# 1. 定義rect記錄飛機的初始位置
hero_rect = pygame.Rect(280, 500, 102, 126)

# 游戲循環(huán)->意味著游戲的正式開始
while True:
    # 希望無限循環(huán)內(nèi)部的代碼每秒鐘重復循環(huán)60次
    # 可以指定循環(huán)體內(nèi)部的代碼執(zhí)行的頻率
    clock.tick(60)

    # 監(jiān)聽事件
    for event in pygame.event.get():
        # 判斷事件類型是否是退出事件
        if event.type == pygame.QUIT:
            print("游戲退出...")

            # quit卸載所有的模塊
            pygame.quit()

            # exit()直接終止當前正在執(zhí)行的程序
            exit()

    # 2. 修改飛機的位置
    hero_rect.y -= 1
    # 判斷飛機的位置
    if hero_rect.y <= -126:
        hero_rect.y = 642

    # 3. 調(diào)用blit方法繪制圖像
    # 先繪制背景,在繪制飛機,就不會留下殘影(背景把上一次的飛機遮擋)
    screen.blit(bg, (0, 0))
    screen.blit(hero, hero_rect)

    # 4. 調(diào)用update方法更新顯示
    pygame.display.update()
pygame.quit()

2.3 運行結(jié)果

代碼運行結(jié)果如下圖所示:當運行程序后,點擊退出按鈕,可以正常終止屏幕中的游戲畫面,并且在控制臺輸出如下圖結(jié)果。

到此這篇關(guān)于Python pygame項目實戰(zhàn)監(jiān)聽退出事件的文章就介紹到這了,更多相關(guān)Python 監(jiān)聽退出事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django Channels 實現(xiàn)點對點實時聊天和消息推送功能

    Django Channels 實現(xiàn)點對點實時聊天和消息推送功能

    這篇文章主要介紹了Django Channels 實現(xiàn)點對點實時聊天和消息推送功能,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Python繪制三維立體圖詳解與繪圖填充方式

    Python繪制三維立體圖詳解與繪圖填充方式

    這篇文章主要介紹了Python繪制三維立體圖詳解與繪圖填充方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 用Python做一個簡單的圖書管理系統(tǒng)

    用Python做一個簡單的圖書管理系統(tǒng)

    這篇文章主要介紹了用Python做一個簡單的圖書管理系統(tǒng),有“還書““借閱”“添加書籍”等功能,文中提供了部分實現(xiàn)代碼和解決思路,有一定的參考價值,需要的朋友快來一起看看吧
    2023-04-04
  • 11個案例講透Python函數(shù)參數(shù)小結(jié)

    11個案例講透Python函數(shù)參數(shù)小結(jié)

    本文主要介紹了11個案例講透Python函數(shù)參數(shù)小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • openCV提取圖像中的矩形區(qū)域

    openCV提取圖像中的矩形區(qū)域

    這篇文章主要為大家詳細介紹了openCV提取圖像中的矩形區(qū)域,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Python 多進程和數(shù)據(jù)傳遞的理解

    Python 多進程和數(shù)據(jù)傳遞的理解

    這篇文章主要介紹了Python 多進程和數(shù)據(jù)傳遞的理解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 一文了解Python3的錯誤和異常

    一文了解Python3的錯誤和異常

    Python 的語法錯誤或者稱之為解析錯,是初學者經(jīng)常碰到的。即便 Python 程序的語法是正確的,在運行它的時候,也有可能發(fā)生錯誤。運行期檢測到的錯誤被稱為異常。本文就來和大家聊聊Python3的錯誤和異常,感興趣的可以學習一下
    2022-09-09
  • Python開發(fā)之QT解決無邊框界面拖動卡屏問題(附帶源碼)

    Python開發(fā)之QT解決無邊框界面拖動卡屏問題(附帶源碼)

    朋友在學習QT的過程中,都會遇到各種問題,今天就QT無邊框拖動花屏問題給大家詳細介紹,究竟該如何解決呢,下面通過實例代碼和圖文相結(jié)合給大家詳細介紹,需要的朋友參考下吧
    2021-05-05
  • Python?async模塊使用方法雜談

    Python?async模塊使用方法雜談

    協(xié)程(Coroutine),也可以被稱為微線程,是一種用戶態(tài)內(nèi)的上下文切換技術(shù)。簡而言之,其實就是通過一個線程實現(xiàn)代碼塊相互切換執(zhí)行
    2023-04-04
  • python 實現(xiàn)列表的切片操作允許索引超出范圍

    python 實現(xiàn)列表的切片操作允許索引超出范圍

    這篇文章主要介紹了python 實現(xiàn)列表的切片操作允許索引超出范圍,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評論

长治市| 桦南县| 红河县| 天台县| 从江县| 嘉黎县| 新野县| 台州市| 大邑县| 海阳市| 万山特区| 富宁县| 徐汇区| 黄梅县| 专栏| 罗平县| 武冈市| 焉耆| 维西| 固阳县| 海林市| 湘乡市| 鹤庆县| 酒泉市| 南召县| 始兴县| 龙海市| 麻阳| 施甸县| 沧源| 汉源县| 铅山县| 平乡县| 西乡县| 资源县| 乐至县| 尼勒克县| 若尔盖县| 凯里市| 乐东| 密云县|