亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

3 碰撞檢測

藍色方塊會隨著鼠標移動,當碰到綠色方塊時,則當前分數(shù)加1,當碰到紅色方塊時,當前分數(shù)減1。因為要隨時進行碰撞檢測,因此需要在while True循環(huán)中實現(xiàn)以下功能。

3.1 藍色方塊隨鼠標移動

將藍色方塊的位置設(shè)置為鼠標的位置,即可以實現(xiàn)藍色方塊隨鼠標移動,代碼如下所示。

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

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

3.2 檢測藍色方塊是否碰撞到綠色方塊

3.2.1 pygame.sprite.spritecollide()方法

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

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

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

3.2.2 相關(guān)代碼

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

blocks_hit_list = \
    pygame.sprite.spritecollide(player, block_list, True)
    for block in blocks_hit_list:
        score += 1
        print('當前分數(shù)為:'+str(score))

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

3.3 檢測藍色方塊是否碰撞到紅色方塊

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

blocks_hit_list = \
    pygame.sprite.spritecollide(player, block_bad_list, True)
    for block in blocks_hit_list:
        score -= 1
        print('當前分數(shù)為:'+str(score))

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

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

相關(guān)文章

  • python中reload重載實例用法

    python中reload重載實例用法

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

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

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

    python無法識別vim中文代碼的解決方案

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

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

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

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

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

    Python繪圖模塊?turtle案例代碼

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

    python爬蟲之代理ip正確使用方法實例

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

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

    這篇文章主要介紹了Python3如何將源目錄中的圖片用MD5命名并可以設(shè)定目標目錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    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實現(xiàn)代碼示例

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

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

最新評論