一,前言
pgzero是pygame的入門級模塊,可以快速入門,上手簡單.
官網:pgzero官網
文章目錄
- 一,前言
- 二,pgzero
- 三,匯入模塊,開始游戲!
- 四,正式開始
- 1.改變視窗顏色
- 2.將圖片為背景
- 3.設定視窗大小
- 4.添加游戲角色
- 1.如何使角色移動
- 2.重復執行
- 5.處理滑鼠單擊事件
- 1.獲取滑鼠點擊坐標
- 2.獲取滑鼠點擊鍵(左鍵or右鍵)
- 3.判斷滑鼠是否點擊到角色
- 6.判斷兩個角色是否碰撞
- 7.在視窗上繪制字
- 五,最后
二,pgzero
廢話不多說,直接來安裝!
打開cmd輸入以下代碼:
pip install pgzero
打開cmd:win+r輸入cmd,點擊確定
三,匯入模塊,開始游戲!
import pgzrun#匯入模塊
pgzrun.go()#這步是用來開始游戲,末尾必須有
點擊運行,pia,出現了一個黑框

并展示出了這段話…
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
四,正式開始
1.改變視窗顏色
默認的是黑色,我們把它可以變換成別的顏色
加上代碼
def draw():
screen.fill((255,255,255))

我們來逐一解釋一下他的意思!
def draw():是繪制的功能名(名字不能更改),以后也會用到他繪制角色.
screen.fill的fill是screen模塊中的一個功能,相當于視窗的背景色.中間的(255,255,255)是元組(和串列差不多,只不過不能修改),三個值分別是r,b,g顏色,255,255,255就是白色.(這個功能只能放在draw功能中,放在別的地方會報錯沒有screen這個模塊).
2.將圖片為背景
其實pgzero并沒有專門的設定背景的方法,只不過是照一張和視窗一樣大的圖片(后面有設定視窗大小的方法)并添加這個角色.
代碼:
import pgzrun
act=Actor('圖片.png')
def draw():
act.draw()
pgzrun.go()
Actor--------創建角色,回傳值存在任意變數里
act.draw()–繪制角色,需要是第一個繪制,在最底層,就有背景的效果.
這個圖片要在和游戲檔案的同級的檔案夾images中(4.添加游戲角色有詳解)
效果圖:
這是就有了一個問題,圖片的尺寸比視窗小,這時就來到了下一個知識點,如何設定視窗大小
3.設定視窗大小
在import pgzrun之后,pgzrun.go()之前,不在某個功能之內(是不是有點啰嗦…)加入以下代碼
WIDTH=500
HEIGHT=600
500就代表這個視窗的長,600代表這個視窗的寬,按情況修改吧…WIDTH和HEIGHT只能是大寫.
4.添加游戲角色
part=Actor('角色.png',[100,200])
角色圖片要在檔案夾images里

在圖片名稱后加一個串列就可以自定義坐標
1.如何使角色移動
我們首先來看一張圖

pgzero的坐標系和數學中的坐標系不一樣的,正常應該是越往上y軸越大,但是這是越往上越小
知道這個之后,我們就可以根據這個來修改

我們可以通過這個圖,看到一個角色分別由image,width,height(其實還有x,y,和pos屬性)
(角色名).x+=1
這時我們就引入了一個新的知識點,重復執行
這是肯定就會有人說就while True:但是這其實這是不行的,我們的目的是讓他游戲運行的同時重復執行,但是他會因為一直在重復執行而無法運行到pgzrun.go()
2.重復執行
其實pgzero內置了一個功能,叫做update,話不多說,上實踐
import pgzrun
def update():
print('update,hi !')
pgzrun.go()
運行之后,果然游戲界面(因為沒設定角色,所以是黑框),并且持續
根據這
5.處理滑鼠單擊事件
import pgzrun
def on_mouse_down():
print("You clicked!")
pgzrun.go()
點擊滑鼠后…
但是我們獲取他點擊的作用不就是看看有沒有點某個按鍵或者角色,所以就需要得到點的坐標(判斷是否相碰后面有具體方法)
1.獲取滑鼠點擊坐標
獲取坐標方法:
import pgzrun
def on_mouse_down(pos):
print(pos)
pgzrun.go()
隨便點一下,列印出來一個元組
2.獲取滑鼠點擊鍵(左鍵or右鍵)
在電腦桌面上,你可以雙擊左鍵打開一個檔案或者檔案夾,右鍵用來新建等操作,但是我們的程式卻把兩者是為一樣的,這是就有一個新的功能,獲取點擊的鍵.
import pgzrun
def on_mouse_down(pos,button):
print(button)
pgzrun.go()
只需要在pos引數后再加一個引數button,點擊之后就可以列印出是左鍵還是右鍵

不難發現,他的格式是mouse.+按鍵,所以要是想要判斷就可以直接if button==mouse.LEFT
3.判斷滑鼠是否點擊到角色
使用collidepoint功能可以判斷一個角色是否觸碰一個坐標/點
###參考代碼###
import pgzrun
a=Actor('圖片.png')
def draw():
a.draw()
def on_mouse_down(pos,button):
if a.collidepoint(pos):
print('點擊了一次')
pgzrun.go()
點擊角色之后…
a和pos不能調換

6.判斷兩個角色是否碰撞
import pgzrun
a=Actor('圖片.png')
b=Actor('圖片.png')
if a.colliderect(b):
print('兩個角色碰撞')
pgzrun.go()
使用colliderect功能即可判斷兩者是否相碰
7.在視窗上繪制字
import pgzrun
def draw():
screen.draw.text('我是內容',center=[320,40],fontsize = 60)
pgzrun.go()
‘我是內容’------內容
[320,40]—坐標
60-----大小
五,最后
這就是全部內容啦~
這是本人第一次寫博客,不好請見諒😀
! 未經允許,請勿轉載 !
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/253983.html
標籤:其他
上一篇:掃雷游戲的C語言實作
下一篇:第五章 回圈 程式設計練習
