1.創(chuàng)建游戲窗口
pygame.init() #1. 初始化游戲模塊
window = pygame.display.set_mode((400, 600))
#2.創(chuàng)建游戲窗口
flag = True
while flag: #3.游戲循環(huán)
#讓游戲一直運(yùn)行,直到點(diǎn)關(guān)閉按鈕才結(jié)束
for event in pygame.event.get():# 獲取游戲過程中產(chǎn)生的所有的事件
if event.type == pygame.QUIT: # type來判斷事件的類型
#pygame中關(guān)閉按鈕
flag=False
2.圖片文件操作
2.1.獲取圖片,創(chuàng)建圖片對(duì)象
image.load(圖片路徑): 獲取本地的一張圖片,返回圖片對(duì)象
image = pygame.image.load('./files/luffy4.jpg')
#獲取一張本地圖片,并賦值給image
方法一:
get_size():
image_width, image_height = image.get_size()
獲取大小,返回值是一個(gè)元祖,有兩個(gè)元素,分別是寬和高
方法二:
給窗口充色:說明,在獲取圖片之前可先給窗口充背景色
window.fill((255, 255, 255))
fill(顏色)
- 顏色:計(jì)算機(jī)三原色(紅、綠、藍(lán)), 每個(gè)顏色對(duì)應(yīng)的值的范圍是0-255。可以通過改變三原色的值可以調(diào)配處不同的顏色
-
顏色值:是一個(gè)元祖,元祖中三個(gè)元素,分別代表紅綠藍(lán)(rgb)
(255, 0, 0) --> 紅色
(0, 255, 0) --> 綠色
(0, 0, 255) --> 藍(lán)色
(0, 0, 0) --> 黑色
(255, 255, 255) --> 白色
2.2.渲染圖片(確認(rèn)圖片名及圖片在窗口中的位置)
blit(渲染對(duì)象, 位置)
位置: 坐標(biāo)(x, y), 值的類型是元祖,元祖有兩個(gè)元素分別對(duì)應(yīng)x坐標(biāo)和y坐標(biāo)
image.png
window.blit(image, (0, 100))
#將image圖片的左上角放在坐標(biāo)(0,100)
2.3 展示內(nèi)容(將紙貼在畫框上)
pygame.display.flip()
3.圖片操作(形變)
a. 縮放(指定大小)
transform.scale(縮放對(duì)象, 目標(biāo)大小)
將指定的對(duì)象縮放到指定的大小,會(huì)返回縮放后的對(duì)象
new_image = pygame.transform.scale(image, (400, 600)) #將image縮放到寬400,高600大小
b. 旋轉(zhuǎn)縮放(指定縮放比例)
-
rotozoom(Surface, angle, scale)
Surface:旋轉(zhuǎn)縮放對(duì)象
angle: 旋轉(zhuǎn)的角度(0-360)
scale:縮放比例,大于1放大,小于1縮小
new_image = pygame.transform.rotozoom(image, 45, 0.8)
#將image逆時(shí)針旋轉(zhuǎn)45°,并縮放到原來的0.8倍大小
** c. 旋轉(zhuǎn)**
-
rotate(Surface, angle)
Surface: 旋轉(zhuǎn)對(duì)象
angle: 旋轉(zhuǎn)角度
4.顯示文字
4.1 創(chuàng)建字體對(duì)象
a.創(chuàng)建系統(tǒng)的字體對(duì)象
-
SysFont(name, size, bold=False, italic=False)
name: 字體名(系統(tǒng)支持的字體名)
size: 字體大小
bold: 是否加粗
italic: 是否傾斜
font = pygame.font.SysFont('Times', 30) #創(chuàng)建系統(tǒng)字體
b.創(chuàng)建自定義的字體對(duì)象
Font(字體文件路徑, 字體大小)
字體文件路徑:ttf文件
font = pygame.font.Font('./files/aa.ttf', 30) #創(chuàng)建自定義字體
4.2.根據(jù)字體去創(chuàng)建文字對(duì)象
-
render(text, antialias, color, background=None)
text: 需要顯示的文字(字符串)
antialias: 是否平滑(布爾)
color:顏色
background:背景顏色
text = font.render('你好,pygame', True, (0, 0, 255), (255, 255, 0))
print(text.get_size())