理解圖像并實(shí)現(xiàn)圖像繪制
在游戲中,能夠看到的游戲元素大多都是圖像苟径,圖像文件初始是保存在磁盤(pán)上的案站,如果需要使用,第一步就需要被加載到內(nèi)存棘街,要在屏幕上看到某一個(gè)圖像的內(nèi)容蟆盐,需要按照三個(gè)步驟:
- 使用
pygame.image.load()
加載圖像的數(shù)據(jù) - 使用游戲屏幕對(duì)象調(diào)用
blit
方法將圖像繪制到指定位置 - 調(diào)用
pygame.display.update()
方法更新整個(gè)屏幕的顯示
提示:要想在屏幕上看到繪制的結(jié)果,就一定要調(diào)用pygame.display.update()
方法
代碼演練I——繪制背景圖像
需求:
- 加載
background.png
創(chuàng)建背景 - 將背景繪制在屏幕的(0遭殉,0)位置
- 調(diào)用屏幕更新顯示背景圖像
繪制英雄圖像
需求:
- 加載
me1.png
創(chuàng)建英雄飛機(jī) - 將英雄飛機(jī)繪制在窗口的(200舱禽, 500)位置
- 調(diào)用屏幕更新顯示英雄飛機(jī)圖像
理解update()方法的作用
可以在screen
對(duì)象完成所有blit
方法之后,統(tǒng)一調(diào)用一次display.update`方法恩沽,同樣可以在屏幕上看到最終的繪制結(jié)果
- 使用
display.set_mode()
創(chuàng)建的screen
對(duì)象是一個(gè)內(nèi)存中的屏幕數(shù)據(jù)對(duì)象誊稚,可以理解為油畫(huà)的畫(huà)布 -
screen.blit
方法可以在畫(huà)布上繪制很多圖像,例如英雄罗心、敵機(jī)里伯、子彈等,這些圖像有可能會(huì)彼此重疊或者覆蓋 -
display.update()
會(huì)將畫(huà)布的最終結(jié)果繪制在屏幕上渤闷,這樣可以提高屏幕繪制效率疾瓮,增加游戲的流暢度
2020.8.20