pygame中模塊說明


 參考博客:https://blog.csdn.net/qq_27717921/article/details/53231762

 pygame模塊概覽

 

 

1.display模塊

功能:生成windows窗口

 

pygame.display.set_mode(resolution=(0,0),flags=0,depth=0)

返回一個特定大小和屬性的surface對象,resolution可以控制生成windows窗口的大小,flags代表的是擴展選項,depath不推薦設置

flags標志位控制你想要什么樣的顯示屏,主要有下面幾個,這幾個量相當於是全局的常量,使用的時候可以from pygame.locals import *導入

pygame.FULLSCREEN,控制全屏,0或者1來控制

pygame.HWSURFACE 控制是否進行硬件加速

pygame.RESIZABLE 控制窗口是否可以調節大小



pygame.display.get_caption()

獲得窗口的標題

pygame.display.set_caption(title)

設置窗口的標題,title為字符串

 

pygame.display.flip()

由於雙緩沖的原因,需要使用此函數將整個display的surface對象更新到屏幕上去

 

 

2.surface模塊

說明:surface對象是用於表示圖像的圖像,只要指定尺寸,就可以利用,可以通過加載圖片或者是可以自動創建一個surface對象

加載圖像返回的也是一個surface對象,這里可能就會用到image模塊

例如:self.image = pygame.image.load('images/star.bmp')

 

pygame.surface((width,height),flag=0,depth =0,mask = None)

 

surface.copy()

返回調用實例的副本,也是一個surface對象

 

pygame.surface.blit(sourse,dest,area = None,special_flag=0)

方法表示將一個surface對象畫在另一個surface對象之上

這里的surface不是模塊名而是一個創建好了的surface實例,比如之前創建的screen的surface對象,

sourse為要畫的surface對象,表示要將哪一個surface對象畫在調用的實例上,而dest則是要畫在實例surface對象的什么位置,

如果這個參數傳入的是一個rect對象,則會取rect對象的左上角的點作為要開始畫的地方,而與rect對象的大小是無關的,

后面的area則說明是畫其中的一部分,還是完整的畫上去。這個參數也可以傳一個rect對象

pygame.surface.fill(color)

對surface對象填充某一種顏色,主要是對背景實現填充

 

surface.get_rect()

返回的是調用實例即為surface對象的rect對象

 

surface.subsurface(Rect)

傳入一個矩形對象,為了返回實例surface對象中矩形的一部分,

新的surface對象將繼承他的父親,顏色以及透明度設置上都繼承了它的父對象

 

surface.set_at((x,y),color)     設置某一像素位置的顏色

surface.get_at((x,y))         獲得某一像素位置的顏色

surface.get_width()        返回surface對象的寬度

surface.get_height()        返回surface對象的高度

 

 

3.mouse模塊

功能:主要是針對於鼠標事件進行控制

 

pygame.mouse.get_pos()

獲得鼠標指針當前的位置,返回的值為元祖類型,即為(x,y),

返回值與顯示屏的Top-Left值是息息相關的。

 

pygame.mouse.get_rel()

返回的是鼠標距離上一次在橫縱軸方向的位移大小

 

pygame.mouse.set_visible(bool)

設置鼠標是否是可見的

 

pygame.mouse.get_pressed()

返回一個三元組,都是bool類型的取值來代表用戶按下的是(button1,button2,button3)中的哪一個鍵

 

pygame.event模塊

主要是人機交互時所產生的事件進行控制,

移動鼠標會觸犯相關的事件,按下鼠標左鍵也會觸發相關的事件,按下鍵盤上的某一些鍵也會觸發相關的事件。這里列舉一些比較常用的事件

 

pygame.event.get()

返回的是一個事件列表,可以通過迭代不斷從列表中獲得事件,根據事件的類型分別進行處理

默認是無參數的,但是也可以傳入參數,比如傳入某一種事件類型,返回值就是屬於這一類型的事件列表,也可以傳入一個列表,列表中是需要返回的多個事件類型

例如:

    for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit()

 

 

 4.pygame.rect模塊

Rect對象是用來存儲矩形對象的,

Rect對象有一些虛擬屬性,比如top.left,bottom.right這些是用來固定矩形的位置的,還有size,width,height,這些是描述矩形大小,寬高分別是多大,

center為矩形的中心點,其實就是關於橫縱坐標的二元組,因此又有centerx,centery兩個屬性


pygame.Rect(left,top,width,height)或者是pygame.Rect((left,top),(width,height))

生成一個Rect對象

left,top其實就是矩形左上點的橫縱坐標,用來控制生成rect對象的位置,而后面的寬度和高度則是用來控制生成矩形的大小尺寸的,也可以傳入一個object對象從而生成rect對象

 

5.pygame.transform模塊

pygame.transform.flip(surface,xbool,ybool)

翻轉surface對象

第一個參數控制的是需要翻轉的對象,而后面兩個參數則是控制是在水平方向翻轉還是在垂直方向進行翻轉,返回的是翻轉后的surface對象

 

 

6.pygame.font模塊

pygame.font.Font(filename,size)

返回font對象,filename要包含圖片路徑

 

font.render(text,antialias,color,background=None)

返回的是surface對象,文本並不能直接顯示出來,需要先把文本渲染成圖片畫到另一個surface對象上才能正常的顯示出來。

font為對象實例,text參數只能是單行文本,antilalias則是bool類型的值,用來控制文本的邊是否是鋸齒狀的還是圓滑型的。后面分別是文本顏色和文本的背景顏色

補充不完整建議參考博客:

 https://blog.csdn.net/fengf2017/article/details/79300801#_231

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM