pygame遊戲開發參考指南

2021-10-01 17:00:11 字數 3268 閱讀 9755

這篇部落格裡涉及pygame中的、顏色、常用形狀、文字、音效、動畫切換、精靈與精靈組以及碰撞檢測等簡單基礎知識,為我寫的另一篇部落格《python實現飛機大戰》提供參考。

pygame進行初始化,呼叫pygame.init()方法

得到螢幕物件su***ce

事件的監聽(遊戲主迴圈):處理遊戲事件,更新遊戲狀態,重新繪製在螢幕上

1.的載入

# 使用絕對路徑

bg = pygame.image.load(

'./bg.png'

)

2.在頻幕上繪製

screen.blit(bg,bg.get_rect)
3.畫素上的座標

左上角為座標原點,從左往右為x軸,從上往下為y軸線

1.使用rgb表示

取值範圍0~255

2.rgba表示透明色

a(alpha):0~255

1.畫線

# 畫一條紅色的,從座標(11,11)到座標(22,22)寬度為3畫素的線段

pygame.draw.line(screen,red,(11

,11),

(22,22

),3)

2.畫矩形

# 畫從座標(10,20)寬度為100,高度為200,邊框為3畫素的矩形

pygame.draw.rect(screen,red,(10

,20,100

,200),

3)

3.畫圓

# 畫圓心座標為(100,100)半徑為100,邊框為3畫素的圓形

pygame.draw.circle(screen,red,

(100

,100),

100,

3)

1.載入字型

# 載入系統提供的字型,文字大小,加粗,斜體

font = pygame.font.sysfont(

'華文行楷',32

,true

,true

)# 還有一種載入字型的方式,考慮到不同計算機字型不同名,可以把字型ttf檔案放進專案中進行呼叫

font = pygame.font.font(

'./檔名稱',32

)# 這裡使用絕對路徑

2.載入完字型之後,需要得到su***ce物件

# 渲染的文字,顏色,背景色

text = font.render(

'需要渲染的文字'

,true

,red,green)

3.在螢幕上進行繪製

# 繪製文字,文字初始值

screen.blit(text,text.get_rect(

))

1.載入背景**

# 通過load()方法載入背景**檔案路徑

pygame.mixer.music.load(

'./music.***'

)

2.音量大小設定

# 範圍0~1,值越小,音量越小

pygame.mixer.music.set_volume(

0.5)

pygame.mixer.music.play(-1

)1.幀速率

用fps或者幀/秒來進行控制

2.通過pygame.time.clock()中的tick(num)進行控制幀速率

3.用演算法來進行切換

# 用counter進行計數

counter =

0# counter += 1

# 如果可以被5整除,繪製一張,不能的時候繪製另一張來實現來回切換產生動畫效果

if counter %5==

0:screen.blit(image,(20

,20))

else

: screen.blit(image2,(20

,20))

1.精靈

精靈可以認為是一張張小,它可以是在螢幕上移動的圖形物件,並且可以與其它圖形物件進行互動。比如在螢幕上畫的矩形,圓形,進行封裝讓他可以與其他圖形進行互動。精靈影象可以是pygame使用函式繪製的影象,也可以是檔案。

2.精靈組

精靈組用於管理組內精靈的繪製和更新,是乙個容器。

1.兩個精靈之間的矩形檢測

# collide_rect()函式實現檢測兩個精靈是否有重疊

pygame.sprite.collide_rect(sprite_1,sprite_2)

# collide_rect_ratio()鏈式呼叫 第乙個()加了比率,更加精確,指定碰撞的區域

pygame.sprite.collide_rect_ratio(

0.5)

(sprite_1,sprite_2)

2.兩個精靈之間的圓形檢測

pygame.sprite.collide_circle(sprite_1,sprite_2)
3.兩個精靈之間的畫素遮罩檢測

# 精靈不規則時

pygame.sprite.collide_mask(sprite_1,sprite_2)

4.精靈與精靈組之間的碰撞

# 精靈撞到精靈組內的任意乙個都算碰撞

pygame.sprite.spritecollideany(sprite,sprite_group,

bool

)

pygame遊戲 Pygame遊戲製作教程

pygame遊戲設計第一彈 pygame程式設計框架 www.bilibili.com pygame繪製圖形前,首先要建立乙個視窗 import pygame 使用pygame的第一步是將pygame庫匯入到python程式中 from pygame.locals import 然後需要引入pyga...

利用Pygame開發遊戲學習Python(入門)

為什麼學習python遊戲開發?以遊戲為突破口,學習python。1 anaconda 管理各種庫,如果其中找不到再利用pip安裝。自帶的jupyter notebook更是資料分析,簡單除錯的不二首道。2 pycharm 複雜專案 大型專案開發利器。3 sublime 看別人原始碼時用,支援n多格...

Python學習筆記 遊戲開發pygame入門

pygame用來開發遊戲軟體的 python 程式模組,基於 sdl 庫的基礎上開發 sdl directmedia layer 是一套開放源 的跨平台多 開發庫,使用c語言寫成。個人理解 安裝pygame 使用python3命令安裝報錯,可以嘗試使用python命令 python m pip in...