400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】飛機大戰(zhàn)——飛機大戰(zhàn)游戲框架

【Python基礎知識】飛機大戰(zhàn)——飛機大戰(zhàn)游戲框架

  • 來源:優(yōu)就業(yè)
  • 2021-09-28 09:57:45
  • 閱讀()
  • 分享
  • 手機端入口

1、游戲窗口

經(jīng)過安裝Pygame,以及了解Pygame的核心功能之后,可以開始編寫一個小的游戲案例了。下面將制作一個飛機大戰(zhàn)游戲,游戲內(nèi)容是敵對的兩架飛機互相射擊。

游戲開始前需要調(diào)用初始化函數(shù),代碼如下:

  1. pygame.init() 

否則,在本案例中輸出漢字時,會提示錯誤,字體沒有初始化。

創(chuàng)建一個游戲窗口,加載背景,設置窗口標題和圖標等,代碼如下:

  1. # 創(chuàng)建一個游戲窗口 
  2. surface = pygame.display.set_mode((480652)) 
  3. # 加載背景圖片 
  4. background = pygame.image.load('./img/background.png'
  5. # 調(diào)整連續(xù)按鍵事件生成時間 
  6. pygame.key.set_repeat(5050
  7. # 設置窗口標題 
  8. pygame.display.set_caption('飛機大戰(zhàn)'
  9. # 設置窗口圖標 
  10. pygame.display.set_icon(pygame.image.load('./img/icon72x72.png')) 

2、游戲循環(huán)

飛機大戰(zhàn)中設計了游戲循環(huán),還設計了玩家飛機、敵機、玩家子彈和敵人子彈四個類,以及碰撞和控制兩個功能函數(shù)。另外,還有游戲啟動界面和結束界面等函數(shù)。

整個游戲的游戲循環(huán)如下:

①繪制背景圖片。

②控制玩家飛機,主要響應玩家的操作。例如,玩家點擊關閉按鈕,則退出游戲;玩家按下左箭頭鍵,則飛機向左移動;玩家按下右箭頭鍵,則飛機向右移動;玩家按下空格鍵,則飛機發(fā)射子彈。

③繪制玩家飛機,包括正常狀態(tài)和被擊毀狀態(tài);繪制玩家飛機發(fā)射的子彈。

④繪制敵機,包括正常狀態(tài)和被擊毀狀態(tài);繪制敵機發(fā)射的子彈。

⑤控制敵機的移動。

⑥檢測玩家飛機與敵機發(fā)射子彈的碰撞情況。

⑦檢測敵機和玩家飛機發(fā)射子彈的碰撞情況。

⑧更新游戲窗口。

游戲循環(huán)的具體實現(xiàn)代碼如下:

  1. while True
  2.     surface.blit(background, (00))   # 繪制背景圖片 
  3.     kongzhi(hero)   # 控制玩家飛機 
  4.     hero.hero_display()   # 繪制玩家飛機 
  5.     enemyplan.display()   # 繪制敵機 
  6.     enemyplan.move()   # 控制敵機的移動 
  7.     impact(hero, enemyplan.biu_list)   # 檢測玩家飛機與敵機發(fā)射子彈的碰撞情況 
  8.     impact(enemyplan, hero.biu_list)   # 檢測敵機和玩家飛機發(fā)射子彈的碰撞情況 
  9.     pygame.display.update()   # 更新游戲窗口 

 

文章“【Python基礎知識】飛機大戰(zhàn)——飛機大戰(zhàn)游戲框架”已幫助

更多內(nèi)容

>>本文地址:http://liujunjsxg.cn/zhuanye/2021/70181.html

THE END  

聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內(nèi)設計室內(nèi)設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網(wǎng)頁設計網(wǎng)頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡安全網(wǎng)絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發(fā)智能機器人
 

快速通道fast track

近期開班時間TIME