1、游戲窗口
經過安裝Pygame,以及了解Pygame的核心功能之后,可以開始編寫一個小的游戲案例了。下面將制作一個飛機大戰游戲,游戲內容是敵對的兩架飛機互相射擊。
游戲開始前需要調用初始化函數,代碼如下:
- pygame.init()
否則,在本案例中輸出漢字時,會提示錯誤,字體沒有初始化。
創建一個游戲窗口,加載背景,設置窗口標題和圖標等,代碼如下:
- # 創建一個游戲窗口
- surface = pygame.display.set_mode((480, 652))
- # 加載背景圖片
- background = pygame.image.load('./img/background.png')
- # 調整連續按鍵事件生成時間
- pygame.key.set_repeat(50, 50)
- # 設置窗口標題
- pygame.display.set_caption('飛機大戰')
- # 設置窗口圖標
- pygame.display.set_icon(pygame.image.load('./img/icon72x72.png'))
2、游戲循環
飛機大戰中設計了游戲循環,還設計了玩家飛機、敵機、玩家子彈和敵人子彈四個類,以及碰撞和控制兩個功能函數。另外,還有游戲啟動界面和結束界面等函數。
整個游戲的游戲循環如下:
①繪制背景圖片。
②控制玩家飛機,主要響應玩家的操作。例如,玩家點擊關閉按鈕,則退出游戲;玩家按下左箭頭鍵,則飛機向左移動;玩家按下右箭頭鍵,則飛機向右移動;玩家按下空格鍵,則飛機發射子彈。
③繪制玩家飛機,包括正常狀態和被擊毀狀態;繪制玩家飛機發射的子彈。
④繪制敵機,包括正常狀態和被擊毀狀態;繪制敵機發射的子彈。
⑤控制敵機的移動。
⑥檢測玩家飛機與敵機發射子彈的碰撞情況。
⑦檢測敵機和玩家飛機發射子彈的碰撞情況。
⑧更新游戲窗口。
游戲循環的具體實現代碼如下:
- while True:
- surface.blit(background, (0, 0)) # 繪制背景圖片
- kongzhi(hero) # 控制玩家飛機
- hero.hero_display() # 繪制玩家飛機
- enemyplan.display() # 繪制敵機
- enemyplan.move() # 控制敵機的移動
- impact(hero, enemyplan.biu_list) # 檢測玩家飛機與敵機發射子彈的碰撞情況
- impact(enemyplan, hero.biu_list) # 檢測敵機和玩家飛機發射子彈的碰撞情況
- pygame.display.update() # 更新游戲窗口
更多內容
>>本文地址:http://www.fxiong121.com/zhuanye/2021/70181.html
聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?