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