中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎么在你的Python游戲中添加一個玩家

這篇文章主要為大家展示了“怎么在你的Python游戲中添加一個玩家”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“怎么在你的Python游戲中添加一個玩家”這篇文章吧。

10多年的舟山網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整舟山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“舟山網(wǎng)站設(shè)計”,“舟山網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實(shí)執(zhí)行。

在 Pygame 中,玩家操控的圖標(biāo)或者化身被稱作妖精sprite。如果你現(xiàn)在還沒有任何可用于玩家妖精的圖像,你可以使用 Krita 或 Inkscape 來自己創(chuàng)建一些圖像。如果你對自己的藝術(shù)細(xì)胞缺乏自信,你也可以在 OpenClipArt.org 或 OpenGameArt.org 搜索一些現(xiàn)成的圖像。如果你還未按照上一篇文章所說的單***建一個 images 文件夾,那么你需要在你的 Python 項目目錄中創(chuàng)建它。將你想要在游戲中使用的圖片都放 images 文件夾中。

為了使你的游戲真正的刺激,你應(yīng)該為你的英雄使用一張動態(tài)的妖精圖片。這意味著你需要繪制更多的素材,并且它們要大不相同。最常見的動畫就是走路循環(huán),通過一系列的圖像讓你的妖精看起來像是在走路。走路循環(huán)最快捷粗糙的版本需要四張圖像。

怎么在你的Python游戲中添加一個玩家

注意:這篇文章中的代碼示例同時兼容靜止的和動態(tài)的玩家妖精。

將你的玩家妖精命名為 hero.png。如果你正在創(chuàng)建一個動態(tài)的妖精,則需要在名字后面加上一個數(shù)字,從 hero1.png 開始。

創(chuàng)建一個 Python 類

在 Python 中,當(dāng)你在創(chuàng)建一個你想要顯示在屏幕上的對象時,你需要創(chuàng)建一個類。

在你的 Python 腳本靠近頂端的位置,加入如下代碼來創(chuàng)建一個玩家。在以下的代碼示例中,前三行已經(jīng)在你正在處理的 Python 腳本中:

import pygameimport sysimport os # 以下是新代碼 class Player(pygame.sprite.Sprite):    '''    生成一個玩家    '''    def __init__(self):        pygame.sprite.Sprite.__init__(self)        self.images = []    img = pygame.image.load(os.path.join('images','hero.png')).convert()    self.images.append(img)    self.image = self.images[0]    self.rect  = self.image.get_rect()

如果你的可操控角色擁有一個走路循環(huán),在 images 文件夾中將對應(yīng)圖片保存為 hero1.pnghero4.png 的獨(dú)立文件。

使用一個循環(huán)來告訴 Python 遍歷每個文件。

'''對象''' class Player(pygame.sprite.Sprite):    '''    生成一個玩家    '''    def __init__(self):        pygame.sprite.Sprite.__init__(self)        self.images = []        for i in range(1,5):            img = pygame.image.load(os.path.join('images','hero' + str(i) + '.png')).convert()            self.images.append(img)            self.image = self.images[0]            self.rect  = self.image.get_rect()

將玩家?guī)胗螒蚴澜?/h4>

現(xiàn)在已經(jīng)創(chuàng)建好了一個 Player 類,你需要使用它在你的游戲世界中生成一個玩家妖精。如果你不調(diào)用 Player  類,那它永遠(yuǎn)不會起作用,(游戲世界中)也就不會有玩家。你可以通過立馬運(yùn)行你的游戲來驗證一下。游戲會像上一篇文章末尾看到的那樣運(yùn)行,并得到明確的結(jié)果:一個空蕩蕩的游戲世界。

為了將一個玩家妖精帶到你的游戲世界,你必須通過調(diào)用 Player 類來生成一個妖精,并將它加入到 Pygame 的妖精組中。在如下的代碼示例中,前三行是已經(jīng)存在的代碼,你需要在其后添加代碼:

world       = pygame.display.set_mode([worldx,worldy])backdrop    = pygame.image.load(os.path.join('images','stage.png')).convert()backdropbox = screen.get_rect() # 以下是新代碼 player = Player()   # 生成玩家player.rect.x = 0   # 移動 x 坐標(biāo)player.rect.y = 0   # 移動 y 坐標(biāo)player_list = pygame.sprite.Group()player_list.add(player)

嘗試啟動你的游戲來看看發(fā)生了什么。高能預(yù)警:它不會像你預(yù)期的那樣工作,當(dāng)你啟動你的項目,玩家妖精沒有出現(xiàn)。事實(shí)上它生成了,只不過只出現(xiàn)了一毫秒。你要如何修復(fù)一個只出現(xiàn)了一毫秒的東西呢?你可能回想起上一篇文章中,你需要在主循環(huán)中添加一些東西。為了使玩家的存在時間超過一毫秒,你需要告訴  Python 在每次循環(huán)中都繪制一次。

將你的循環(huán)底部的語句更改如下:

    world.blit(backdrop, backdropbox)    player_list.draw(screen) # 繪制玩家    pygame.display.flip()    clock.tick(fps)

現(xiàn)在啟動你的游戲,你的玩家出現(xiàn)了!

設(shè)置 alpha 通道

根據(jù)你如何創(chuàng)建你的玩家妖精,在它周圍可能會有一個色塊。你所看到的是 alpha 通道應(yīng)該占據(jù)的空間。它本來是不可見的“顏色”,但 Python 現(xiàn)在還不知道要使它不可見。那么你所看到的,是圍繞在妖精周圍的邊界區(qū)(或現(xiàn)代游戲術(shù)語中的“***區(qū)hit box”)內(nèi)的空間。

怎么在你的Python游戲中添加一個玩家

你可以通過設(shè)置一個 alpha 通道和 RGB 值來告訴 Python 使哪種顏色不可見。如果你不知道你使用 alpha 通道的圖像的 RGB 值,你可以使用 Krita 或 Inkscape 打開它,并使用一種獨(dú)特的顏色,比如 #00ff00(差不多是“綠屏綠”)來填充圖像周圍的空白區(qū)域。記下顏色對應(yīng)的十六進(jìn)制值(此處為 #00ff00,綠屏綠)并將其作為 alpha 通道用于你的 Python 腳本。

使用 alpha 通道需要在你的妖精生成相關(guān)代碼中添加如下兩行。類似***行的代碼已經(jīng)存在于你的腳本中,你只需要添加另外兩行:

            img = pygame.image.load(os.path.join('images','hero' + str(i) + '.png')).convert()            img.convert_alpha()     # 優(yōu)化 alpha            img.set_colorkey(ALPHA) # 設(shè)置 alpha

除非你告訴它,否則 Python 不知道將哪種顏色作為 alpha 通道。在你代碼的設(shè)置相關(guān)區(qū)域,添加一些顏色定義。將如下的變量定義添加于你的設(shè)置相關(guān)區(qū)域的任意位置:

ALPHA = (0, 255, 0)

在以上示例代碼中,0,255,0 被我們使用,它在 RGB 中所代表的值與 #00ff00 在十六進(jìn)制中所代表的值相同。你可以通過一個優(yōu)秀的圖像應(yīng)用程序,如 GIMP、Krita 或 Inkscape,來獲取所有這些顏色值?;蛘?,你可以使用一個優(yōu)秀的系統(tǒng)級顏色選擇器,如 KColorChooser,來檢測顏色。

怎么在你的Python游戲中添加一個玩家

如果你的圖像應(yīng)用程序?qū)⒛愕难尘颁秩境闪似渌闹?,你可以按需調(diào)整 ALPHA 變量的值。不論你將 alpha  設(shè)為多少,***它都將“不可見”。RGB 顏色值是非常嚴(yán)格的,因此如果你需要將 alpha 設(shè)為 000,但你又想將 000  用于你圖像中的黑線,你只需要將圖像中線的顏色設(shè)為 111。這樣一來,(圖像中的黑線)就足夠接近黑色,但除了電腦以外沒有人能看出區(qū)別。

運(yùn)行你的游戲查看結(jié)果。

怎么在你的Python游戲中添加一個玩家

以上是“怎么在你的Python游戲中添加一個玩家”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:怎么在你的Python游戲中添加一個玩家
本文路徑:http://www.rwnh.cn/article14/jipcde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、服務(wù)器托管、企業(yè)建站網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
陇南市| 鲁甸县| 苗栗县| 聂荣县| 开鲁县| 黑龙江省| 安塞县| 城步| 闽侯县| 内丘县| 嵩明县| 黑山县| 长治市| 报价| 汉中市| 武冈市| 临沧市| 鱼台县| 孟连| 浪卡子县| 河源市| 广昌县| 郧西县| 法库县| 台山市| 盐亭县| 抚远县| 始兴县| 三台县| 哈密市| 凤山市| 丹东市| 临湘市| 渝中区| 赤峰市| 都兰县| 新闻| 阿克苏市| 临汾市| 石门县| 天峨县|