欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pygame中Sprite的使用方法示例詳解

 更新時(shí)間:2023年09月25日 12:18:45   作者:棉猴  
這篇文章主要介紹了Pygame中Sprite的使用方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

3 碰撞檢測

藍(lán)色方塊會(huì)隨著鼠標(biāo)移動(dòng),當(dāng)碰到綠色方塊時(shí),則當(dāng)前分?jǐn)?shù)加1,當(dāng)碰到紅色方塊時(shí),當(dāng)前分?jǐn)?shù)減1。因?yàn)橐S時(shí)進(jìn)行碰撞檢測,因此需要在while True循環(huán)中實(shí)現(xiàn)以下功能。

3.1 藍(lán)色方塊隨鼠標(biāo)移動(dòng)

將藍(lán)色方塊的位置設(shè)置為鼠標(biāo)的位置,即可以實(shí)現(xiàn)藍(lán)色方塊隨鼠標(biāo)移動(dòng),代碼如下所示。

pos = pygame.mouse.get_pos()
player.rect.x = pos[0]
player.rect.y = pos[1]

其中,通過pygame.mouse.get_pos()獲取鼠標(biāo)的當(dāng)前位置,并將鼠標(biāo)的橫坐標(biāo)pos[0]賦值給藍(lán)色方塊的x坐標(biāo)player.rect.x,鼠標(biāo)的縱坐標(biāo)pos[1]賦值給藍(lán)色方塊的y坐標(biāo)player.rect.y。

3.2 檢測藍(lán)色方塊是否碰撞到綠色方塊

3.2.1 pygame.sprite.spritecollide()方法

通過pygame.sprite.spritecollide()方法來實(shí)現(xiàn)碰撞檢測。該方法的使用格式為

spritecollide(sprite, group, dokill, collided=None)

其中,第一個(gè)參數(shù)sprite表示碰撞的Sprite實(shí)例;第二個(gè)參數(shù)是一個(gè)Group實(shí)例,在該Group中包含了多個(gè)Sprite實(shí)例,也就是說,判斷第一個(gè)參數(shù)sprite與第二個(gè)參數(shù)group中包含的多個(gè)Sprite實(shí)例是否進(jìn)行了碰撞;dokill是一個(gè)布爾類型的參數(shù),該參數(shù)是True時(shí)表示將發(fā)生碰撞的實(shí)例從第二個(gè)參數(shù)group中刪除,F(xiàn)alse表示不刪除;第四個(gè)餐宿collided是一個(gè)回調(diào)方法,當(dāng)兩個(gè)Sprite實(shí)例發(fā)生碰撞時(shí),調(diào)用該方法,默認(rèn)是None。spritecollide()方法的返回值是一個(gè)列表,包含了在第二個(gè)參數(shù)group中與第一個(gè)參數(shù)spirte發(fā)生碰撞的Sprite實(shí)例。

3.2.2 相關(guān)代碼

通過pygame.sprite.spritecollide()方法來判斷藍(lán)色方塊是否與綠色方塊碰撞的代碼如下所示。

blocks_hit_list = \
    pygame.sprite.spritecollide(player, block_list, True)
    for block in blocks_hit_list:
        score += 1
        print('當(dāng)前分?jǐn)?shù)為:'+str(score))

其中,player是表示鼠標(biāo)的藍(lán)色方塊;block_list包含了所有綠色方塊的Group實(shí)例,因?yàn)樵谂鲎舶l(fā)生后,被碰撞的綠色方塊要消失,因此,把spritecollide()方法的第三個(gè)參數(shù)設(shè)置為True。發(fā)生碰撞的方塊就保存在blocks_hit_list中,最后對分?jǐn)?shù)score進(jìn)行加1處理,并顯示。

3.3 檢測藍(lán)色方塊是否碰撞到紅色方塊

檢測藍(lán)色方塊是否碰撞到紅色方塊的原理與碰撞綠色方塊類似,代碼如下所示。

blocks_hit_list = \
    pygame.sprite.spritecollide(player, block_bad_list, True)
    for block in blocks_hit_list:
        score -= 1
        print('當(dāng)前分?jǐn)?shù)為:'+str(score))

其中,block_bad_list是保存紅色方塊的group。當(dāng)發(fā)生碰撞時(shí),對分?jǐn)?shù)score進(jìn)行減1處理,并顯示。

到此這篇關(guān)于Pygame中Sprite的使用方法的文章就介紹到這了,更多相關(guān)Pygame Sprite使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中reload重載實(shí)例用法

    python中reload重載實(shí)例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中reload重載實(shí)例用法相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以參考下。
    2020-12-12
  • 關(guān)于Python?Selenium自動(dòng)化導(dǎo)出新版WOS(web?of?science)檢索結(jié)果的問題

    關(guān)于Python?Selenium自動(dòng)化導(dǎo)出新版WOS(web?of?science)檢索結(jié)果的問題

    這篇文章主要介紹了Python?Selenium自動(dòng)化導(dǎo)出新版WOS(web?of?science)檢索結(jié)果,本代碼屬于半自動(dòng)化導(dǎo)出,考慮到開發(fā)效率等因素,有兩處在首次導(dǎo)出時(shí)需要手動(dòng)操作,具體實(shí)現(xiàn)過程跟隨小編一起看看吧
    2022-01-01
  • python無法識(shí)別vim中文代碼的解決方案

    python無法識(shí)別vim中文代碼的解決方案

    這篇文章主要介紹了python無法識(shí)別vim中文代碼的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python字典生成式、集合生成式、生成器用法實(shí)例分析

    Python字典生成式、集合生成式、生成器用法實(shí)例分析

    這篇文章主要介紹了Python字典生成式、集合生成式、生成器用法,結(jié)合實(shí)例形式分析了Python字典生成式、集合生成式、生成器相關(guān)原理、使用技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • python通過索引遍歷列表的方法

    python通過索引遍歷列表的方法

    這篇文章主要介紹了python通過索引遍歷列表的方法,實(shí)例分析了Python遍歷列表的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Python繪圖模塊?turtle案例代碼

    Python繪圖模塊?turtle案例代碼

    turtle庫是Python語言中一個(gè)很流行的繪制圖像的函數(shù)庫,想象一個(gè)小烏龜,在一個(gè)橫軸為x、縱軸為y的坐標(biāo)系原點(diǎn),(0,0)開始,它根據(jù)一組函數(shù)指令的控制,在這個(gè)平面坐標(biāo)系中移動(dòng),從而在它爬行的路徑上繪制了圖形,本文介紹Python繪圖模塊turtle,感興趣的朋友一起看看吧
    2023-01-01
  • python爬蟲之代理ip正確使用方法實(shí)例

    python爬蟲之代理ip正確使用方法實(shí)例

    在爬蟲的過程中,我們經(jīng)常會(huì)遇見很多網(wǎng)站采取了防爬蟲技術(shù),或者說因?yàn)樽约翰杉W(wǎng)站信息的強(qiáng)度和采集速度太大,給對方服務(wù)器帶去了太多的壓力,下面這篇文章主要給大家介紹了關(guān)于python爬蟲之代理ip正確使用方法的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python3如何將源目錄中的圖片用MD5命名并可以設(shè)定目標(biāo)目錄

    Python3如何將源目錄中的圖片用MD5命名并可以設(shè)定目標(biāo)目錄

    這篇文章主要介紹了Python3如何將源目錄中的圖片用MD5命名并可以設(shè)定目標(biāo)目錄,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 淺談python中常用的8種經(jīng)典數(shù)據(jù)結(jié)構(gòu)

    淺談python中常用的8種經(jīng)典數(shù)據(jù)結(jié)構(gòu)

    這篇文章主要介紹了python中常用的8種經(jīng)典數(shù)據(jù)結(jié)構(gòu),包括原生數(shù)據(jù)結(jié)構(gòu),NumPy包中的數(shù)據(jù)結(jié)構(gòu),以及Pandas包中的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2023-03-03
  • 單鏈表反轉(zhuǎn)python實(shí)現(xiàn)代碼示例

    單鏈表反轉(zhuǎn)python實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了單鏈表反轉(zhuǎn)python實(shí)現(xiàn),分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02

最新評(píng)論