宣告: 原創不易,未經許可,不得轉載
0.前言
hello,小夥伴們!我還是帶你們一起寫遊戲的貓姐。
今天是這個遊戲的,第5集了!前4集,你們都學會了嗎?
上一集,我們把遊戲視窗的背景圖片,給換了,給人的感覺,馬上就不一樣了。今天我們給遊戲,加上背景音樂,然後將這個小方塊,換成採蘑菇的小男孩。好了,我們程式碼搞起。
1.給遊戲新增背景音樂
玩過遊戲的,都知道,背景音樂是遊戲的靈魂,在pygame
裡,給遊戲新增背景音樂,超簡單,三行程式碼就搞定了!
第一行程式碼,使用pygame.mixer.init()
函式,完成初始化工作。
第二行程式碼,通過pygame.mixer.Sound()
函式建立一個聲音物件,括號裡面要傳入mp3的音訊檔案,我們給聲音物件取個名字,叫bg_music。
bg_music = pygame.mixer.Sound("./sound/mushroom.mp3")
最後一行程式碼,就是讓音樂播放起來,我們只需要呼叫bg_music的play
函式。
bg_music.play()
好了,我們執行遊戲看下效果。背景音樂就開始播放了。
大家注意到了嗎?這裡還有一個問題,遊戲的背景音樂都是迴圈播放的,但是這裡播放一次就結束了。要讓音樂迴圈播放也很簡單,我們只需要給play()
函式傳入-1,就可以了。
bg_music.play(-1)
迴圈播放的效果,在這裡我就不演示了。
2.把小方塊換成小男孩的圖片
我們接下來,把小方塊換成小男孩的圖片。
在image
目錄下,我已經準備好了小男孩的圖片。
我們需要對Player
類進行修改,註釋掉self.image
和self.image.fill
函式這兩行程式碼,換成載入小男孩的圖片,所以使用pygame.image.load()
函式來匯入圖片,括號裡面傳入的是小男孩圖片的路徑,賦值給self.image
。
class Player(pygame.sprite.Sprite):
def __init__(self):
super(Player, self).__init__()
# self.image = pygame.Surface((60, 30))
self.image = pygame.image.load("./image/player.png")
# self.image.fill("white")
self.rect = self.image.get_rect(left=WIDTH//2, top=HEIGHT//2)
我們執行遊戲看下效果,可以看到,小男孩有了,背景音樂也有了。怎麼樣,是不是特別有感覺了?
關注貓姐,下一集馬上就來。