溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python外星人入侵游戲開(kāi)發(fā)中怎么添加飛船圖像

發(fā)布時(shí)間:2021-11-30 15:47:24 來(lái)源:億速云 閱讀:163 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“Python外星人入侵游戲開(kāi)發(fā)中怎么添加飛船圖像”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python外星人入侵游戲開(kāi)發(fā)中怎么添加飛船圖像”吧!

用法分析

下面將飛船加入到游戲中。為了在屏幕上繪制玩家的飛船,我們將加載一幅圖像,再使用Pygame方法blit() 繪制它。

選擇用于表示飛船的圖像后,需要將其顯示到屏幕上。我們將創(chuàng)建一個(gè)名為ship 的模塊,其中包含Ship 類,它負(fù)責(zé)管理飛船的大部分行為。

代碼實(shí)例

#======================================================
#功能:ship 類
import pygameclass Ship():  def __init__(self, screen):    """初始化飛船并設(shè)置其初始位置"""    self.screen = screen    # 加載飛船圖像并獲取其外接矩形    ? self.image = pygame.image.load('images/ship.bmp')    ? self.rect = self.image.get_rect()    ? self.screen_rect = screen.get_rect()    # 將每艘新飛船放在屏幕底部中央    ? self.rect.centerx = self.screen_rect.centerx    self.rect.bottom = self.screen_rect.bottom  ? def blitme(self):    """在指定位置繪制飛船"""    self.screen.blit(self.image, self.rect)

首先,我們導(dǎo)入了模塊pygame 。Ship 的方法__init__() 接受兩個(gè)參數(shù):引用self 和screen ,其中后者指定了要將飛船繪制到什么地方。為加載圖像,我們調(diào)用了pygame.image.load() (見(jiàn)?)。這個(gè)函數(shù)返回一個(gè)表示飛船的surface,而我們將這個(gè)surface存儲(chǔ)到了self.image 中。

加載圖像后,我們使用get_rect() 獲取相應(yīng)surface的屬性rect (見(jiàn)?)

我們將把飛船放在屏幕底部中央。為此,首先將表示屏幕的矩形存儲(chǔ)在self.screen_rect 中(見(jiàn)?),再將self.rect.centerx (飛船中心的x 坐標(biāo))設(shè)置為表示屏幕的矩形的屬性centerx (見(jiàn)?)

在?處,我們定義了方法blitme() ,它根據(jù)self.rect 指定的位置將圖像繪制到屏幕上。

#======================================================
#功能:alien_invasion類
import sysimport pygamefrom settings import Settingsfrom ship import Shipdef run_game():    # 初始化游戲并創(chuàng)建一個(gè)屏幕對(duì)象    pygame.init()    ai_settings = Settings()    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))    pygame.display.set_caption("外星人入侵")    # 創(chuàng)建一艘飛船    ship = Ship(screen)    # 開(kāi)始游戲的主循環(huán)    while True:    # 監(jiān)視鍵盤(pán)和鼠標(biāo)事件        for event in pygame.event.get():            if event.type == pygame.QUIT:                sys.exit()        # 每次循環(huán)時(shí)都重繪屏幕        screen.fill(ai_settings.bg_color)        ship.blitme()        # 讓最近繪制的屏幕可見(jiàn)        pygame.display.flip()run_game()

我們導(dǎo)入Ship 類,并在創(chuàng)建屏幕后創(chuàng)建一個(gè)名為ship 的Ship 實(shí)例。必須在主while 循環(huán)前面創(chuàng)建該實(shí)例(見(jiàn)程序第12行ship = Ship(screen)),以免每次循環(huán)時(shí)都創(chuàng)建一艘飛船。填充背景后,我們調(diào)用ship.blitme() 將飛船繪制到屏幕上,確保它出現(xiàn)在背景前面(見(jiàn)程序第21行ship.blitme())。

代碼運(yùn)行輸出:

Python外星人入侵游戲開(kāi)發(fā)中怎么添加飛船圖像

感謝各位的閱讀,以上就是“Python外星人入侵游戲開(kāi)發(fā)中怎么添加飛船圖像”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python外星人入侵游戲開(kāi)發(fā)中怎么添加飛船圖像這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI