python飛機(jī)大戰(zhàn)pygame碰撞檢測實(shí)現(xiàn)方法分析
本文實(shí)例講述了python飛機(jī)大戰(zhàn)pygame碰撞檢測實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
目標(biāo)
- 了解碰撞檢測方法
- 碰撞實(shí)現(xiàn)
01. 了解碰撞檢測方法
- pygame 提供了 兩個(gè)非常方便 的方法可以實(shí)現(xiàn)碰撞檢測:
pygame.sprite.groupcollide()
- 兩個(gè)精靈組 中 所有的精靈 的碰撞檢測
groupcollide(group1, group2, dokill1, dokill2, collided = None) -> Sprite_dict
- 如果將 dokill 設(shè)置為 True,則 發(fā)生碰撞的精靈將被自動(dòng)移除
- collided 參數(shù)是用于 計(jì)算碰撞的回調(diào)函數(shù)
- 如果沒有指定,則每個(gè)精靈必須有一個(gè) rect 屬性
pygame.sprite.spritecollide()
- 判斷 某個(gè)精靈 和 指定精靈組 中的精靈的碰撞
spritecollide(sprite, group, dokill, collided = None) -> Sprite_list
- 如果將 dokill 設(shè)置為 True,則 指定精靈組 中 發(fā)生碰撞的精靈將被自動(dòng)移除
- collided 參數(shù)是用于 計(jì)算碰撞的回調(diào)函數(shù)
- 如果沒有指定,則每個(gè)精靈必須有一個(gè) rect 屬性
- 返回 精靈組 中跟 精靈 發(fā)生碰撞的 精靈列表
02. 碰撞實(shí)現(xiàn)
def __check_collide(self):
# 1. 子彈摧毀敵機(jī)
pygame.sprite.groupcollide(self.hero.bullets, self.enemy_group, True, True)
# 2. 敵機(jī)撞毀英雄
enemies = pygame.sprite.spritecollide(self.hero, self.enemy_group, True)
# 判斷列表時(shí)候有內(nèi)容
if len(enemies) > 0:
# 讓英雄犧牲
self.hero.kill()
# 結(jié)束游戲
PlaneGame.__game_over()
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python游戲開發(fā)技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python版飛機(jī)大戰(zhàn)代碼分享
- python實(shí)現(xiàn)飛機(jī)大戰(zhàn)
- python實(shí)現(xiàn)飛機(jī)大戰(zhàn)小游戲
- 用Python寫飛機(jī)大戰(zhàn)游戲之pygame入門(4):獲取鼠標(biāo)的位置及運(yùn)動(dòng)
- python實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲(pygame版)
- python pygame模塊編寫飛機(jī)大戰(zhàn)
- python實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲
- 使用python實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲
- python實(shí)現(xiàn)飛機(jī)大戰(zhàn)項(xiàng)目
- python實(shí)現(xiàn)簡單飛機(jī)大戰(zhàn)小游戲
相關(guān)文章
Python3+selenium配置常見報(bào)錯(cuò)解決方案
這篇文章主要介紹了Python3+selenium配置常見報(bào)錯(cuò)解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Django中數(shù)據(jù)庫的數(shù)據(jù)關(guān)系:一對(duì)一,一對(duì)多,多對(duì)多
今天小編就為大家分享一篇關(guān)于Django中數(shù)據(jù)庫的數(shù)據(jù)關(guān)系:一對(duì)一,一對(duì)多,多對(duì)多,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
Python pyinotify日志監(jiān)控系統(tǒng)處理日志的方法
這篇文章主要介紹了Python pyinotify日志監(jiān)控系統(tǒng)處理日志的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
告別網(wǎng)頁搜索!教你用python實(shí)現(xiàn)一款屬于自己的翻譯詞典軟件
教你用python做一款屬于自己的翻譯詞典軟件,從此告別網(wǎng)頁搜索,文中有非常詳細(xì)的代碼示例,小伙伴們快快行動(dòng)吧,需要的朋友可以參考下2021-06-06
Python 實(shí)戰(zhàn)開發(fā)校園管理系統(tǒng)詳細(xì)流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python開發(fā)一套校園管理系統(tǒng),包含各種人員,如教師、學(xué)生等。學(xué)校的系統(tǒng)通常還包括一些課程的信息,大家可以在過程中查缺補(bǔ)漏,提升水平2021-10-10
Python使用Beautiful Soup爬取豆瓣音樂排行榜過程解析
這篇文章主要介紹了Python使用Beautiful Soup爬取網(wǎng)頁過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python使用lxml庫實(shí)現(xiàn)高效處理XML和HTML
lxml?是一個(gè)功能強(qiáng)大且高效的庫,它基于?libxml2?和?libxslt?庫,提供了簡潔易用的?API?來處理?XML?和?HTML?文檔,下面小編就來和大家詳細(xì)講講它的具體使用吧2025-02-02

