python如何添加聲音到python游戲
Pygame提供了一種簡單的方法來集成聲音到你的Python電腦游戲中。Pygame的mixer模塊可以依據(jù)命令播放一個或多個聲音,并且你也可以將這些聲音混合在一起,例如,你能夠在聽到你的英雄收集獎勵或跳過敵人聲音的同時播放背景音樂。
集成mixer模塊到一個已存在的游戲中是很容易的,因此,與其給你代碼示例來向你展示放置它們的位置,不如在這篇文章解釋在你的應(yīng)用程序中獲得聲音所需的四個步驟。
啟動mixer
首先,在你代碼的設(shè)置部分,啟動mixer進程。你的代碼已經(jīng)啟動Pygame和Pygame字體,因此將它們歸類到一起是一個很好的主意:
定義聲音
接下來,你必需定義你想要使用的聲音。這樣就要求你的計算機上有聲音文件,就像使用字體就要求你有字體文件,使用圖像就要求你有圖像文件一樣。
你還必需把這些聲音與你的游戲捆綁在一起,以便任何玩你游戲的人都有這些聲音文件。
為將一個聲音與你的游戲捆綁在一起,首先在你的游戲目錄中創(chuàng)建一個新的目錄,就像你為你圖像和字體創(chuàng)建的目錄一樣。稱它為sound:
盡管在互聯(lián)網(wǎng)上有很多聲音文件,下載這些聲音文件并將其與你的游戲一起分發(fā)并不一定是合法的。這看起來是很奇怪的,因為這么多來自著名電腦游戲的聲音是流行文化的一部分,但法律就是這樣運作的。如果你想與你的游戲一起分發(fā)一個聲音文件,你必需找到一個開源或共創(chuàng)許可的聲音文件,它們準(zhǔn)許與游戲一起提供聲音。
這里有一些專門提供自由和合法的聲音文件的網(wǎng)站,包括:
·Freesound托管存儲所有種類的音效。
·Incompetech托管存儲背景音樂。
·OpenGameArt托管存儲一些音效和音樂。
一些聲音文件只要你給予作曲家或聲音設(shè)計師一個致謝就可以自由使用。在與你的游戲捆綁前,仔細閱讀使用條件!音樂家和聲音設(shè)計師在聲音上的工作就像你在代碼上的工作一樣努力,因此即使他們不要求,給予他們致謝也是極好的。
給予你的聲音源文件一些致謝,在一個名為CREDIT的文本文件中列出你使用的聲音,并在你的游戲文件夾中放置該文本文件。
你也可以嘗試制作你自己的音樂。優(yōu)秀的LMMS音頻工作站易于使用,并帶有很多有趣的聲音。它在所有主要的平臺上都可以使用,也可以導(dǎo)出為OggVorbis(OGG)音頻格式。
添加聲音到Pygame
當(dāng)你找到你喜歡的一個聲音文件時,下載它。如果它是一個ZIP或TAR文件,提取它并將其移動到你游戲目錄中的sound文件夾中。
如果聲音文件的名字帶有空格或特殊字符,重新命名它。文件名稱是完全隨意的,它的名稱越簡單,你就越容易輸入到你的代碼中。
大多數(shù)的電腦游戲使用OGG格式聲音文件,因為這種格式可以占有較小空間而提供高質(zhì)量的聲音。當(dāng)你下載一個聲音文件時,它可能是一個MP3、WAVE、FLAC或者其它的音頻格式。為保持你的文件的較高兼容性和降低下載文件大小,使用一個像fre:ac或Miro這樣的工具來轉(zhuǎn)換這些的文件格式為Ogg格式。
例如,假設(shè)你已經(jīng)下載一個稱為ouch.ogg的聲音文件。
在你代碼的設(shè)置部分中,創(chuàng)建一個變量,代表你想使用的聲音文件:
觸發(fā)一個聲音
為使用一個聲音,你所要做的就是在你想觸發(fā)它的時候調(diào)用這個變量。例如,當(dāng)你的玩家擊中一名敵人時,觸發(fā)OUCH聲音效果:
你可以為各種動作創(chuàng)建聲音,例如,跳躍、收集獎勵、投擲、碰撞,以及其他任何你能想象到的動作。
添加背景音樂
如果你有想在你的游戲的背景中播放的音樂或令人激動的音效,你可以使用Pygame中的mixer模塊中的music函數(shù)。在你的設(shè)置部分中,加載音樂文件:
然后,開始音樂:
-1值告訴Pygame無限循環(huán)音樂文件。你可以將其設(shè)置為從0到更高的值之間的任意數(shù)值,以定義音樂在停止前循環(huán)多少次。
享受音效
音樂和聲音可以為你的游戲添加很多韻味。嘗試添加一些聲音到你的Pygame工程!
以上內(nèi)容為大家介紹了如何添加聲音到python游戲,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://www.mobiletrain.org/

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
python中的filter函數(shù)功能是什么?
python中的filter函數(shù)功能是什么?在python中,面對眾多的數(shù)據(jù),我們要過濾篩選出我們需要的數(shù)據(jù)。python中的filter函數(shù)就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向?qū)ο蟆⒔忉屝陀嬎銠C程序設(shè)計語言,由GuidovanRossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發(fā)它(傳遞異常),實現(xiàn)起來很簡單,使用不帶參數(shù)的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數(shù)功能是什么?
沸python delattr函數(shù)如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應(yīng)用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調(diào)用方法引發(fā)異常
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線