一、基本功能
1.初始化游戲模塊
pygame.init()
2.新建游戲窗口
set_mode(窗口大小)
窗口大小:對應(yīng)的值是一個元組儡蔓,并且元組中需要兩個值分別表示寬度和高度(width,height)
寬度和高度的單位是像素
display.set_mode():創(chuàng)建一個窗口并且返回
window = pygame.display.set_mode((600,400))
3.給窗口填充顏色
fill(顏色)
顏色:計算機三原色(紅抛蚤,綠旅掂,藍):每個顏色對應(yīng)的值的范圍是0~255
可以通過改變不同顏色的值調(diào)配出不同的顏色,顏色值是一個元組搁骑,分別代表紅綠藍(RGB)
window.fill((255,255,255))
4.讓游戲一直運行悲龟,直到點關(guān)閉按鈕才結(jié)束
顯示圖片
#a.pygame.image.load(filename)獲取本地圖片,返回圖片對象
hero = pygame.image.load('./feiji/hero.gif')
#b.渲染圖片(將圖片花在紙上)
'''
blit(渲染對象,位置)方法
位置:坐標(x,y)冰寻,值的類型是元組须教,元組有兩個元素,分別對應(yīng)x坐標和y
左上角為(0,0)斩芭,向下是y坐標及高度逐漸增大轻腺,向右是x坐標及寬度不斷增大
'''
# window.blit(hero,(250,250))
#c.展示內(nèi)容(將紙?zhí)诋嬁蛏?
# pygame.display.flip()
'''
獲取圖片的寬和高
hero.get_size()返回值以寬和高的元組
'''
list_image =[pygame.image.load('./feiji/hero_blowup_n1.png'),pygame.image.load('./feiji/hero_blowup_n2.png'),pygame.image.load('./feiji/hero_blowup_n3.png'),pygame.image.load('./feiji/hero_blowup_n4.png')]
hero_width,hero_height = hero.get_size()
window.blit(hero, (((600 - hero_width)/2), ((400 - hero_height)/2)))
pygame.display.flip()
sleep(0.16)
window.fill((255, 255, 255))
形變
a.縮放(指定大小)
transform.scale(縮放對象,目標大小):將指定對象縮放到指定的大小划乖,會返回縮放后的對象
b.縮放(指定縮放比例)
transform.rotozoom(Surface,angle,scale)
Surface:旋轉(zhuǎn)縮放對象
angle:旋轉(zhuǎn)的角度
scale:縮放比例
c.旋轉(zhuǎn)
rotate(Surface,angle)
Surface:旋轉(zhuǎn)對象
angle:旋轉(zhuǎn)角度
new_hero = pygame.transform.scale(hero,(200,100))
window.blit(new_hero,(600-hero_width,400-hero_height))
pygame.display.update()
new_hero = pygame.transform.rotozoom(hero,180,0.5)
window.blit(new_hero,(0,0))
pygame.display.update()
二贬养、文字處理
a.創(chuàng)建系統(tǒng)的字體對象
pygame.font.SysFont(name,size,bold=False,italic=False)
name:字體名(系統(tǒng)支持的字體名)
size:字體大小
bold:是否加粗
italic:是否傾斜
b.創(chuàng)建自定義的字體對象
pygame.font.Font(自定義字體文件路徑,字體大小)
font = pygame.font.Font(name,size)
字體文件路徑:ttf文件
'''
font = pygame.font.Font('./font_01/aa.ttf', 30)
image = pygame.image.load('./feiji/enemy2.png')
image_width,image_height = image.get_size()
x,y=(((400-image_width)/2),((400-image_height))/2)
window.blit(image,(x,y))
# font = pygame.font.SysFont('Times',30)
#根據(jù)字體去創(chuàng)建文字對象
render(text,antialias,color)
text:需要顯示的文字
antialias:是否平滑(布爾)
color:顏色
background:背景顏色元組(r,g,b)
'''
text = font.render('你好琴庵,世界',True,(0,0,255),(0,255,255))
font_width,font_height=text.get_size()
#渲染文字
window.blit(text,(((x+(image_width-font_width)/2)),y+image_height))
#展示內(nèi)容
三误算、顯示常見圖形
1.畫直線
def line(Surface,color,start_pos,end_pos,width=1)
Surface:畫在哪兒
color:線的顏色
start_pos:起點
end_pos:終點
width:線寬
#畫一條水平線
# pygame.draw.line(window,(255,0,0),(50,100),(200,100))
#花一天垂直線
# pygame.draw.line(window,(255,0,0),(100,50),(100,200))
2.畫線段(折線)
def lines(Surface,color,closed,pointlist,width=1)
Surface:畫在哪兒
color:線的顏色
closed:是否閉合仰美,起點和終點是否連接
pointlist:線段的列表
width:寬度
pygame.draw.lines(window,(255,0,0),False,[(100,200),(150,120),(140,300)])
3.畫圓
def circle(Surface,color,pos,radius,width=0)
Surface:圓心半徑
color:顏色
pos:位置
radius:半徑
width:線段,0->填充
pygame.draw.circle(window,(255,255,0),(250,275),100,0)
4.畫矩形
def rect(Surface,color,Rect,width=0)
Surface:畫在哪兒
color:顏色
Rect:范圍(元組儿礼,元組中有四個元素咖杂,分別是x,y,width,height)
width:線寬,0->填充
pygame.draw.rect(window,(255,0,0),(0,0,50,100))
5.畫多邊形
def polygon(Surface,color,pointlist,width=0)
6.畫橢圓
def ellipse(Surface.color,Rect,width=0),內(nèi)切矩形原理
7.畫弧線
def arc(Surface,color,Rect,start_angle,end_angle,width=1)