前言
本系列文章將會以通俗易懂的對話方式進行教學,對話中將涵蓋了新手在學習中的一般問題,此系列將會持續更新,包括別的語言以及實戰都將使用對話的方式進行教學,基礎編程語言教學適用于零基礎小白,之后實戰課程也將會逐步更新,
若有想學習的內容可以在評論區留言,根據大家的要求持續更新,點贊過十萬就算化成灰我也更新下一篇,(肯定不到,也會更的,)
有問題也可以在評論區留言,也可以私聊我加我好友共同交流一起進步~
我的其它教程
教程點擊進去將會有目錄
《看聊天記錄都學不會C語言?太菜了吧(1)我在大佬群里問基礎問題沒人理?——學習建議
《大學生C語言作業、習題100例白話詳解》
目錄
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》游戲角色開始動起來了,真帥!【python 游戲實戰 03】—— 角色移動
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》這是我第一次使用代碼創建出一個視窗【python 游戲實戰 02】—— 創建游戲場景
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》這是我第一次使用代碼創建出一個視窗【python 游戲實戰 01】—— 創建視窗
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(12)python 的串列我從沒想過會那么好用—— 串列
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(11)python里面while到底有多少知識點—— break continue
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(10)無底洞的回圈—— 回圈初窺
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(9)集萬家之長不死 python—— 導包
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(8)我們開始做一個數字小游戲吧—— 數字游戲開始做 導包
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(7)我用函式寫了個特洛伊木馬—— 自定義函式
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(6)不會這個知識點代碼越寫越難—— and or 邏輯運算
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(5)用前朝的劍斬今朝的官——if…else
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(4)小白不知道這個知識點將會錯漏百出——if 與 層級
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(3)都說123是字符不是數字——輸入與型別
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(2)在python中加號竟然如此善變——變數與運算
《看聊天記錄都學不會Python到游戲實戰?太菜了吧》(1)裝載Python神器!亮劍!——helloworld
作者簡介
作者名:1_bit
簡介:CSDN博客專家,2020年博客之星TOP5,藍橋簽約作者,15-16年曾在網上直播,帶領一批程式小白走上程式員之路,歡迎各位小白加我咨詢我相關資訊,迷茫的你會找到答案,
博客地址:https://i1bit.blog.csdn.net
🐰小C:小媛,上一節創建了一個黑框框開不開心?
👸小媛:開…不,不開心,才創建一個黑框框我能有啥開心的,
🐰小C:話不能這樣說,畢竟你已經開始可以創建一個黑框框了,
👸小媛:不不不,不做完游戲我不開心,
🐰小C:行,那這一節就讓你創建一個場景吧,
👸小媛:趕緊的,我覺得你是在想水字數才說那么多的話,
🐰小C:畢竟學習這種枯燥的技術要給大家營造一種輕松的氛圍嘛,
👸小媛:趕緊吧,我等著了,
🐰小C:首先我們把上一節的等待給加一下,在游戲中,等待其實是有一個主回圈,一直對游戲中發生的事情進行監聽,
👸小媛:所以我們就是需要在下面價格回圈喲?
🐰小C:是的,我們在下面添加一個 while 回圈,這個 while 回圈內一直對游戲的事件進行監聽,這樣我們就知道用戶做了什么事情,例如用戶按下了什么鍵,
👸小媛:明白,請繼續,
🐰小C:我們在回圈中需要一直獲取游戲中發生的事件,這個時候可以使用一個一個方法 pygame.event.get(),pygame 中使用 event 屬性呼叫 get 方法可以獲取一個串列,這個串列的內容為這個游戲中所發生的事件集,我們通過一個 for 回圈對這個串列進行遍歷,此時根據當前串列已經遍歷出來的元素做判斷,若是用戶點擊了視窗的右上角叉叉進行退出,我們就給一個退出回應即可,
👸小媛:那怎么做呢?
🐰小C:你看下面的代碼,
import pygame
pygame.init()
screen=pygame.display.set_mode((600,800))
pygame.display.set_caption("這是一個飛機游戲")
icon=pygame.image.load(r'E:\2dsrc\src\img\hero1.png')
pygame.display.set_icon(icon)
#游戲主回圈
while True:
#事件遍歷
for event in pygame.event.get():
if event.type==pygame.QUIT:
exit()
👸小媛:你意思是說主回圈我們直接使用 True 作為條件就好了,然后在主回圈內有一個 for 回圈用來遍歷 pygame 游戲中的事件?那 for 回圈中的代碼是什么意思呢?
🐰小C:里面其實就是用 if 判斷已經遍歷到的元素 event 的型別,也就是判斷 type 屬性是否等于 pygame 中的 QUIT 退出,pygame 中的 QUIT 就表示一個退出的意思,如果是這個事件點擊到了有關退出的按鈕,那么就執行 exit(),exit() 可退出整個程式,
👸小媛:唔,我懂了,我運行出來了,但是是一個黑螢屏我想加一個游戲場景怎么辦?
🐰小C:很簡單,我們使用 screen 物件呼叫 blit 方法 screen.blit(),在這個方法中第一個傳入的是圖片引數,第二個傳入的是要從哪里開始繪制的坐標,
👸小媛: 那圖片怎么獲得呢?
🐰小C:直接使用 pygame.image.load() 就可以了,就跟你之前用來設定圖片獲取的圖片一樣,但是要注意,我們需要把圖片繪制放到主回圈中,因為為了保持有影片效果每一幀都需要進行繪制新的內容,就跟你那個畫在書上的小人影片一樣,代碼如下,
import pygame
pygame.init()
screen=pygame.display.set_mode((600,800))
pygame.display.set_caption("這是一個飛機游戲")
icon=pygame.image.load(r'E:\2dsrc\src\img\hero1.png')
bg=pygame.image.load(r'E:\2dsrc\src\img\bg.png')
pygame.display.set_icon(icon)
#游戲主回圈
while True:
#事件遍歷
for event in pygame.event.get():
if event.type==pygame.QUIT:
exit()
screen.blit(bg,(0,0))
👸小媛:那個 0,0 意思就是表示在左上角開始從頭繪制是吧?
🐰小C:是的,其實哪一個代碼少了一個很關鍵的內容你知道是啥嗎?
👸小媛:我,,,忘記了,
🐰小C:少了一個螢屏更新,我們應該在每次回圈的時候都應該重繪螢屏,因為我們每次都需要繪制一些游戲元素到這個視窗中,
import pygame
pygame.init()
screen=pygame.display.set_mode((600,800))
pygame.display.set_caption("這是一個飛機游戲")
icon=pygame.image.load(r'E:\2dsrc\src\img\hero1.png')
bg=pygame.image.load(r'E:\2dsrc\src\img\bg.png')
pygame.display.set_icon(icon)
#游戲主回圈
while True:
#事件遍歷
for event in pygame.event.get():
if event.type==pygame.QUIT:
exit()
screen.blit(bg,(0,0))
pygame.display.update()

👸小媛:我點了右上角后確實退出了,賊棒,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/282387.html
標籤:其他
上一篇:ZZA的專案學習開發檔案5/1
