這段時間打算學習pygame寫一個簡單的小遊戲,因此把學習過程中的點點滴滴記錄下來,供大家參考,以及自己複習。
首先安裝python和pygame,(python3 -m pip install pygame)相信大家都安裝好了吧!
好了直接進入正題,pygame的學習。(筆者有py2和py3兩個環境,因爲py3對中文支持友好,而且是大勢所趨,所以用python3和pygame1.9.2進行開發。)
進入正題,pygame的學習。
1:導入pygame庫,以及pygame中的所有常量
import pygame
from pygame.locals import *
2:初始化窗口
screen=pygame.display.set_mode((800,600))
實際上pygame.display.set_mode()這個函數會返回一個Surface對象,他是位圖的一種。
3:加載和顯示圖標
#加載圖標
icon=pygame.image.load("timg.jpg").convert_alpha()
#顯示圖標
pygame.display.set_icon(icon)
4:設置標題
pygame.display.set_caption("仙劍奇俠傳-蝶戀")
5:顯示背景圖片
#背景圖片
background=pygame.image.load("timg.jpg").convert_alpha()
screen.blit(background,(0,0))
#更新顯示屏幕
pygame.display.update()
pygame.image.load()函數用來加載位圖,convert_alpha()方法會使用透明的方法繪製前景對象,因此在加載一個有alpha通道的素材時(比如PNG TGA),需要使用convert_alpha()方法,當然普通的圖片也是可以使用這個方法的,用了也不會有什麼副作用。
前面說過pygam.image.load()會返回一個surface對象,這個對象有一個blit方法,這個方法有兩個參數,一個是加載完成的位圖,第二個參數是繪製起始座標。
好了大功告成!
# coding=utf-8
import pygame
from pygame.locals import *
def main():
pygame.mixer.init()
#創建一個800x600的窗口
screen=pygame.display.set_mode((800,600))
#加載圖標
icon=pygame.image.load("timg.jpg").convert_alpha()
#顯示圖標
pygame.display.set_icon(icon)
#設置標題
pygame.display.set_caption("仙劍奇俠傳-蝶戀")
#背景圖片
background=pygame.image.load("timg.jpg").convert_alpha()
while True:
for event in pygame.event.get():
if event.type == QUIT:
return
screen.blit(background,(0,0))
#更新顯示屏幕
pygame.display.update()
if __name__ == '__main__':
main()
代碼最後使用while循環是爲了讓窗口一直進行下去,如若不然,則會一閃而過。
pygame第一個窗口小程序完成!