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

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

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

1. 在游戲循環(huán)中監(jiān)聽事件

事件event:

  • 就是游戲啟動后,用戶針對游戲所做的操作
  • 例如:點擊關(guān)閉按鈕,點擊鼠標,按下鍵盤

監(jiān)聽:

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

代碼實現(xiàn):

  • pygame中通過pygame.event.get()可以獲得用戶當前所做動作的事件列表(因為同一時間用戶所作的操作可能會有很多件)
  • 用戶可以同一時間做很多事情
  • 提示:這段代碼非常的固定,幾乎所有的pygame游戲都大同小異!

2. 案例演示

2.1 案例概覽

本節(jié),我們將在上一小節(jié)的基礎(chǔ)上(詳情請見本專欄上一篇文章),完成捕獲用戶所做的動作事件列表。

以下代碼中,使用了pygame.event.get()方法,get方法返回的類型為列表類型,因此,我們使用event_list變量來接收get方法返回的結(jié)果。但是,如果僅僅是這樣改造代碼,運行時在程序控制臺輸出了很多空的列表。因此,我們可以考慮增加if判斷,判斷是否用戶進行了操作事件(是否有操作事件發(fā)生)。此時,再運行程序,就可以輸出很多操作細節(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)部的代碼每秒鐘重復(fù)循環(huán)60次
    # 可以指定循環(huán)體內(nèi)部的代碼執(zhí)行的頻率
    clock.tick(60)

    # 捕獲事件
    event_list = pygame.event.get()
    if len(event_list) > 0:
        print(event_list)

    # 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.2 運行結(jié)果

運行結(jié)果如下所示:

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

相關(guān)文章

  • Python的閉包和裝飾器你真的了解嗎

    Python的閉包和裝飾器你真的了解嗎

    這篇文章主要為大家詳細介紹了Python的閉包和裝飾器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 如何解決PyCharm顯示:無效的Python?SDK

    如何解決PyCharm顯示:無效的Python?SDK

    這篇文章主要介紹了在不同電腦之間傳輸Python項目時遇到的路徑問題,并提供了解決方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2025-01-01
  • 對python中的argv和argc使用詳解

    對python中的argv和argc使用詳解

    今天小編就為大家分享一篇對python中的argv和argc使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python如何用pyecharts制作詞云圖

    python如何用pyecharts制作詞云圖

    大家好,本篇文章主要講的是python如何用pyecharts制作詞云圖,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • python讀寫LMDB文件的方法

    python讀寫LMDB文件的方法

    這篇文章主要為大家詳細介紹了python讀寫LMDB文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 一次搞懂hasattr()/getattr()/setattr()在Python中的應(yīng)用

    一次搞懂hasattr()/getattr()/setattr()在Python中的應(yīng)用

    在Python中,hasattr()、getattr()和setattr()是一組內(nèi)置函數(shù),本文將從入門到精通,全面介紹hasattr()、getattr()和setattr()函數(shù)的用法和相關(guān)知識點,需要的可以了解下
    2023-08-08
  • Python中OTSU算法的原理與實現(xiàn)詳解

    Python中OTSU算法的原理與實現(xiàn)詳解

    OTSU算法是大津展之提出的閾值分割方法,又叫最大類間方差法,本文主要為大家詳細介紹了OTSU算法的原理與Python實現(xiàn),感興趣的小伙伴可以了解下
    2023-12-12
  • python圖片二值化提高識別率代碼實例

    python圖片二值化提高識別率代碼實例

    這篇文章主要介紹了python圖片二值化提高識別率代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python讀取圖像并顯示灰度圖的實現(xiàn)

    Python讀取圖像并顯示灰度圖的實現(xiàn)

    這篇文章主要介紹了Python讀取圖像并顯示灰度圖的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python計算質(zhì)數(shù)的方法總結(jié)

    Python計算質(zhì)數(shù)的方法總結(jié)

    質(zhì)數(shù)(Prime?Number)是指大于1且只能被1和自身整除的正整數(shù),計算質(zhì)數(shù)是數(shù)論中的一個經(jīng)典問題,本文將介紹python中多種計算質(zhì)數(shù)的方法,希望對大家有所幫助
    2023-11-11

最新評論

晋中市| 承德市| 仙居县| 阿拉善右旗| 玉树县| 杂多县| 绥中县| 深水埗区| 新沂市| 孝感市| 井研县| 兴城市| 铁力市| 林西县| 赤城县| 二连浩特市| 高平市| 中卫市| 中阳县| 延边| 长海县| 闵行区| 泸西县| 集贤县| 山阴县| 木兰县| 临城县| 桃源县| 图们市| 泾阳县| 塔城市| 民勤县| 新和县| 鲁山县| 光山县| 诏安县| 桑植县| 阜平县| 皋兰县| 临澧县| 二手房|