1、游戲窗口
經(jīng)過安裝Pygame,以及了解Pygame的核心功能之后,可以開始編寫一個小的游戲案例了。下面將制作一個飛機大戰(zhàn)游戲,游戲內(nèi)容是敵對的兩架飛機互相射擊。
游戲開始前需要調(diào)用初始化函數(shù),代碼如下:
- pygame.init()
否則,在本案例中輸出漢字時,會提示錯誤,字體沒有初始化。
創(chuàng)建一個游戲窗口,加載背景,設置窗口標題和圖標等,代碼如下:
- # 創(chuàng)建一個游戲窗口
- surface = pygame.display.set_mode((480, 652))
- # 加載背景圖片
- background = pygame.image.load('./img/background.png')
- # 調(diào)整連續(xù)按鍵事件生成時間
- pygame.key.set_repeat(50, 50)
- # 設置窗口標題
- pygame.display.set_caption('飛機大戰(zhàn)')
- # 設置窗口圖標
- 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)代碼如下:
- while True:
- surface.blit(background, (0, 0)) # 繪制背景圖片
- kongzhi(hero) # 控制玩家飛機
- hero.hero_display() # 繪制玩家飛機
- enemyplan.display() # 繪制敵機
- enemyplan.move() # 控制敵機的移動
- impact(hero, enemyplan.biu_list) # 檢測玩家飛機與敵機發(fā)射子彈的碰撞情況
- impact(enemyplan, hero.biu_list) # 檢測敵機和玩家飛機發(fā)射子彈的碰撞情況
- pygame.display.update() # 更新游戲窗口
更多內(nèi)容
>>本文地址:http://liujunjsxg.cn/zhuanye/2021/70181.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?