您好,登錄后才能下訂單哦!
這篇文章主要講解了“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ā)中怎么添加飛船圖像”的內(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)注!
免責(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)容。