久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 怎樣添加聲音到你的Python游戲

怎樣添加聲音到你的Python游戲

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-07 04:23:08 1699302188

通過添加聲音到你的游戲中,聽聽當(dāng)你的英雄戰(zhàn)斗、跳躍、收集戰(zhàn)利品時會發(fā)生什么。學(xué)習(xí)如何在這個Pygame系列中,創(chuàng)建一個聲音平臺類精靈。

Pygame提供了一種簡單的方法來集成聲音到你的Python電腦游戲中。Pygame的mixer模塊可以依據(jù)命令播放一個或多個聲音,并且你也可以將這些聲音混合在一起,例如,你能夠在聽到你的英雄收集獎勵或跳過敵人聲音的同時播放背景音樂。

集成mixer模塊到一個已存在的游戲中是很容易的,因此,與其給你代碼示例來向你展示放置它們的位置,不如在這篇文章解釋在你的應(yīng)用程序中獲得聲音所需的四個步驟。

啟動mixer

首先,在你代碼的設(shè)置部分,啟動mixer進(jìn)程。你的代碼已經(jīng)啟動Pygame和Pygame字體,因此將它們歸類到一起是一個很好的主意:

pygame.init()

pygame.font.init()

pygame.mixer.init()#addthisline

定義聲音

接下來,你必需定義你想要使用的聲音。這樣就要求你的計算機(jī)上有聲音文件,就像使用字體就要求你有字體文件,使用圖像就要求你有圖像文件一樣。

你還必需把這些聲音與你的游戲捆綁在一起,以便任何玩你游戲的人都有這些聲音文件。

為將一個聲音與你的游戲捆綁在一起,首先在你的游戲目錄中創(chuàng)建一個新的目錄,就像你為你圖像和字體創(chuàng)建的目錄一樣。稱它為sound:

s='sound'

盡管在互聯(lián)網(wǎng)上有很多聲音文件,下載這些聲音文件并將其與你的游戲一起分發(fā)并不一定是合法的。這看起來是很奇怪的,因?yàn)檫@么多來自著名電腦游戲的聲音是流行文化的一部分,但法律就是這樣運(yùn)作的。如果你想與你的游戲一起分發(fā)一個聲音文件,你必需找到一個開源或共創(chuàng)許可的聲音文件,它們準(zhǔn)許與游戲一起提供聲音。

這里有一些專門提供自由和合法的聲音文件的網(wǎng)站,包括:

·Freesound托管存儲所有種類的音效。

·Incompetech托管存儲背景音樂。

·OpenGameArt托管存儲一些音效和音樂。

一些聲音文件只要你給予作曲家或聲音設(shè)計師一個致謝就可以自由使用。在與你的游戲捆綁前,仔細(xì)閱讀使用條件!音樂家和聲音設(shè)計師在聲音上的工作就像你在代碼上的工作一樣努力,因此即使他們不要求,給予他們致謝也是極好的。

給予你的聲音源文件一些致謝,在一個名為CREDIT的文本文件中列出你使用的聲音,并在你的游戲文件夾中放置該文本文件。

你也可以嘗試制作你自己的音樂。優(yōu)秀的LMMS音頻工作站易于使用,并帶有很多有趣的聲音。它在所有主要的平臺上都可以使用,也可以導(dǎo)出為OggVorbis(OGG)音頻格式。

添加聲音到Pygame

當(dāng)你找到你喜歡的一個聲音文件時,下載它。如果它是一個ZIP或TAR文件,提取它并將其移動到你游戲目錄中的sound文件夾中。

如果聲音文件的名字帶有空格或特殊字符,重新命名它。文件名稱是完全隨意的,它的名稱越簡單,你就越容易輸入到你的代碼中。

大多數(shù)的電腦游戲使用OGG格式聲音文件,因?yàn)檫@種格式可以占有較小空間而提供高質(zhì)量的聲音。當(dāng)你下載一個聲音文件時,它可能是一個MP3、WAVE、FLAC或者其它的音頻格式。為保持你的文件的較高兼容性和降低下載文件大小,使用一個像fre:ac或Miro這樣的工具來轉(zhuǎn)換這些的文件格式為Ogg格式。

例如,假設(shè)你已經(jīng)下載一個稱為ouch.ogg的聲音文件。

在你代碼的設(shè)置部分中,創(chuàng)建一個變量,代表你想使用的聲音文件:

ouch=pygame.mixer.Sound(os.path.join(s,'ouch.ogg'))

觸發(fā)一個聲音

為使用一個聲音,你所要做的就是在你想觸發(fā)它的時候調(diào)用這個變量。例如,當(dāng)你的玩家擊中一名敵人時,觸發(fā)OUCH聲音效果:

forenemyinenemy_hit_list:

pygame.mixer.Sound.play(ouch)

score-=1

你可以為各種動作創(chuà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工程!

以上內(nèi)容為大家介紹了怎樣添加聲音到你的Python游戲,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
使用Cython為Python編寫更快的C擴(kuò)展

使用Python很有趣,但有時,用它編寫的程序可能很慢。所有的運(yùn)行時動態(tài)調(diào)度會帶來很大的代價:有時它比用C或Rust等系統(tǒng)語言編寫的等效代碼慢10...詳情>>

2023-11-07 07:23:08
Python字符串連接

字符串是Python中常用的數(shù)據(jù)類型,在開發(fā)過程中可以對字符創(chuàng)進(jìn)行截取并與其他字符創(chuàng)進(jìn)行連接。下面小編整理了5種方法完成Python字符創(chuàng)的連接!加...詳情>>

2023-11-07 06:47:08
數(shù)據(jù)科學(xué)中必須了解的Python核心庫

python有三個核心數(shù)據(jù)科學(xué)庫,在此基礎(chǔ)上還創(chuàng)建了許多其他的庫。這三個核心數(shù)據(jù)科學(xué)庫分別為:NumpyScipyMatplotlib簡單起見,可以把Numpy視為...詳情>>

2023-11-07 06:39:56
如何讓Python代碼更易維護(hù)

檢查你的代碼的質(zhì)量,通過這些外部庫使其更易維護(hù)??勺x性很重要?!狿ython之禪TheZenofPython,TimPeters隨著軟件項(xiàng)目進(jìn)入“維護(hù)模式”,對可...詳情>>

2023-11-07 06:14:44
Pylint讓Python代碼保持一致

當(dāng)你想要爭論代碼復(fù)雜性時,Pylint是你的朋友。Pylint是更高層級的Python樣式強(qiáng)制程序。而flake8和black檢查的是“本地”樣式:換行位置、注釋...詳情>>

2023-11-07 06:00:20