新聞中心
通過添加聲音到你的游戲中,聽聽當(dāng)你的英雄戰(zhàn)斗、跳躍、收集戰(zhàn)利品時(shí)會(huì)發(fā)生什么。學(xué)習(xí)如何在這個(gè) Pygame 系列的第十三篇文章中,創(chuàng)建一個(gè)聲音平臺(tái)類精靈。
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比金平網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式金平網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋金平地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
在 Python 3 中使用 Pygame 模塊來創(chuàng)建電腦游戲的系列文章仍在進(jìn)行中,這是第十三部分。先前的文章是:
- 通過構(gòu)建一個(gè)簡(jiǎn)單的擲骰子游戲去學(xué)習(xí)怎么用 Python 編程
- 使用 Python 和 Pygame 模塊構(gòu)建一個(gè)游戲框架
- 如何在你的 Python 游戲中添加一個(gè)玩家
- 用 Pygame 使你的游戲角色移動(dòng)起來
- 如何向你的 Python 游戲中添加一個(gè)敵人
- 在 Pygame 游戲中放置平臺(tái)
- 在你的 Python 游戲中模擬引力
- 為你的 Python 平臺(tái)類游戲添加跳躍功能
- 使你的 Python 游戲玩家能夠向前和向后跑
- 在你的 Python 平臺(tái)類游戲中放一些獎(jiǎng)勵(lì)
- 添加計(jì)分到你的 Python 游戲
- 在你的 Python 游戲中加入投擲機(jī)制
Pygame 提供了一種簡(jiǎn)單的方法來集成聲音到你的 Python 電腦游戲中。Pygame 的 mixer 模塊 可以依據(jù)命令播放一個(gè)或多個(gè)聲音,并且你也可以將這些聲音混合在一起,例如,你能夠在聽到你的英雄收集獎(jiǎng)勵(lì)或跳過敵人聲音的同時(shí)播放背景音樂。
集成 mixer 模塊到一個(gè)已存在的游戲中是很容易的,因此,與其給你代碼示例來向你展示放置它們的位置,不如在這篇文章解釋在你的應(yīng)用程序中獲得聲音所需的四個(gè)步驟。
啟動(dòng) mixer
首先,在你代碼的設(shè)置部分,啟動(dòng) mixer 進(jìn)程。你的代碼已經(jīng)啟動(dòng) Pygame 和 Pygame 字體,因此將它們歸類到一起是一個(gè)很好的主意:
pygame.init()pygame.font.init()pygame.mixer.init() # add this line
定義聲音
接下來,你必需定義你想要使用的聲音。這樣就要求你的計(jì)算機(jī)上有聲音文件,就像使用字體就要求你有字體文件,使用圖像就要求你有圖像文件一樣。
你還必需把這些聲音與你的游戲捆綁在一起,以便任何玩你游戲的人都有這些聲音文件。
為將一個(gè)聲音與你的游戲捆綁在一起,首先在你的游戲目錄中創(chuàng)建一個(gè)新的目錄,就像你為你圖像和字體創(chuàng)建的目錄一樣。稱它為 sound:
s = 'sound'
盡管在互聯(lián)網(wǎng)上有很多聲音文件,下載這些聲音文件并將其與你的游戲一起分發(fā)并不一定是合法的。這看起來是很奇怪的,因?yàn)檫@么多來自著名電腦游戲的聲音是流行文化的一部分,但法律就是這樣運(yùn)作的。如果你想與你的游戲一起分發(fā)一個(gè)聲音文件,你必需找到一個(gè)開源或共創(chuàng)許可的聲音文件,它們準(zhǔn)許與游戲一起提供聲音。
這里有一些專門提供自由和合法的聲音文件的網(wǎng)站,包括:
- Freesound 托管存儲(chǔ)所有種類的音效。
- Incompetech 托管存儲(chǔ)背景音樂。
- Open Game Art 托管存儲(chǔ)一些音效和音樂。
一些聲音文件只要你給予作曲家或聲音設(shè)計(jì)師一個(gè)致謝就可以自由使用。在與你的游戲捆綁前,仔細(xì)閱讀使用條件!音樂家和聲音設(shè)計(jì)師在聲音上的工作就像你在代碼上的工作一樣努力,因此即使他們不要求,給予他們致謝也是極好的。
給予你的聲音源文件一些致謝,在一個(gè)名為 CREDIT 的文本文件中列出你使用的聲音,并在你的游戲文件夾中放置該文本文件。
你也可以嘗試制作你自己的音樂。優(yōu)秀的 LMMS 音頻工作站易于使用,并帶有很多有趣的聲音。它在所有主要的平臺(tái)上都可以使用,也可以導(dǎo)出為 Ogg Vorbis(OGG)音頻格式。
添加聲音到 Pygame
當(dāng)你找到你喜歡的一個(gè)聲音文件時(shí),下載它。如果它是一個(gè) ZIP 或 TAR 文件,提取它并將其移動(dòng)到你游戲目錄中的 sound 文件夾中。
如果聲音文件的名字帶有空格或特殊字符,重新命名它。文件名稱是完全隨意的,它的名稱越簡(jiǎn)單,你就越容易輸入到你的代碼中。
大多數(shù)的電腦游戲使用 OGG 格式聲音文件,因?yàn)檫@種格式可以占有較小空間而提供高質(zhì)量的聲音。當(dāng)你下載一個(gè)聲音文件時(shí),它可能是一個(gè) MP3、WAVE、FLAC 或者其它的音頻格式。為保持你的文件的較高兼容性和降低下載文件大小,使用一個(gè)像 fre:ac 或 Miro 這樣的工具來轉(zhuǎn)換這些的文件格式為 Ogg 格式。
例如,假設(shè)你已經(jīng)下載一個(gè)稱為 ouch.ogg 的聲音文件。
在你代碼的設(shè)置部分中,創(chuàng)建一個(gè)變量,代表你想使用的聲音文件:
ouch = pygame.mixer.Sound(os.path.join(s, 'ouch.ogg'))
觸發(fā)一個(gè)聲音
為使用一個(gè)聲音,你所要做的就是在你想觸發(fā)它的時(shí)候調(diào)用這個(gè)變量。例如,當(dāng)你的玩家擊中一名敵人時(shí),觸發(fā) OUCH 聲音效果:
for enemy in enemy_hit_list:pygame.mixer.Sound.play(ouch)score -= 1
你可以為各種動(dòng)作創(chuàng)建聲音,例如,跳躍、收集獎(jiǎng)勵(lì)、投擲、碰撞,以及其他任何你能想象到的動(dòng)作。
添加背景音樂
如果你有想在你的游戲的背景中播放的音樂或令人激動(dòng)的音效,你可以使用 Pygame 中的 mixer 模塊中的 music 函數(shù)。在你的設(shè)置部分中,加載音樂文件:
music = pygame.mixer.music.load(os.path.join(s, 'music.ogg'))
然后,開始音樂:
pygame.mixer.music.play(-1)
-1 值告訴 Pygame 無限循環(huán)音樂文件。你可以將其設(shè)置為從 0 到更高的值之間的任意數(shù)值,以定義音樂在停止前循環(huán)多少次。
享受音效
音樂和聲音可以為你的游戲添加很多韻味。嘗試添加一些聲音到你的 Pygame 工程!
分享標(biāo)題:添加聲音到你的Python游戲
瀏覽地址:http://fisionsoft.com.cn/article/dpjicoi.html


咨詢
建站咨詢

