為什麼寫這個教程
學Python的應該都知道,pygame是用來寫遊戲的,但也可以用來寫頁面,不過有些操作很繁瑣,要導入用于關閉遊戲的sys,還要通過pygame.init()初始化遊戲,但pgzero不僅有pygame裡面基本所有功能,而且操作簡單,不過網上pgzero的教程少之又少,我準備寫一套教程幫助大家。
導入模塊
import pgzrun
可以通過這個語句導入模塊,但如果你比較懶,使用模塊中的功能時不想寫太長的模塊名,你可以用as功能起個别名,也可以直接用下面的代碼,省略模塊名。
from pgzrun import *
#使用時直接可以這樣
go()
頁面初始化
接下來我們要設置窗口大小和窗口名稱,可以用以下語句。
WIDTH = 1002
HEIGHT = 687
TITLE = '遊戲大廳'
應該沒有不懂英文的吧,寬度是1002像素,高度是687像素,窗口标題是遊戲大廳。
有的人可能會有問題,為什麼設置一個變量就可以設置窗口大小呢?所以我們在代碼最後要加一行pgzrun.go(),這個函數中包含很多代碼,其中有一行就是調用pygame的語句。
screen = pygame.display.set_mode((WIDTH, HEIGTH))
但是我們不用另外導入pygame,因為pgzero已經把pygame封裝進去了,現在你可以試試加上pgzrun.go()運行一下代碼效果應該是這樣的。
創建和繪制對象
既然窗口出來了,我們就可以添加背景和圖片對象。
對象其實就是圖片或者字符,如果你要創建背景和圖片對象,你必須要在代碼目錄下創建一個文件夾,叫images,把圖片保存進去,但在代碼裡寫文件路徑時,不需要寫images/xxx.png或images/xxx.jpg。
bg = Actor('背景.png')
pic = Actor('圖片.png')
這行代碼就創建了一個背景對象和一個圖片對象,其實這兩個本質上是一樣的,把背景和圖片這兩個詞互換也沒有問題,bg和pic這兩個單詞隻是一個變量,你設置什麼名稱都可以。
現在你運行還是一個空空的窗口,這是因為你隻是創建了對象,并沒有繪制,繪制對象可以用以下代碼
def draw():
bg.draw()
pic.draw()
注意要先繪制背景對象,再繪制圖片對象,就像一些P圖軟件的貼圖,如果先把圖片對象貼上去,再貼背景,圖片對象就被蓋住了,不過你創建對象的時候可以不分先後順序。
看一下我這裡的效果圖,素材可以到最後領取。
讓對象動起來
在這個頁面裡對象的位置是用坐标來表示的,其實讓對象動起來就是改變對象的坐标,背景的坐标一般不會改變,編程裡面的坐标多種多樣,不像數學,turtle裡面中心點是0,pgzero裡面和數學差不多,左上角是0,具體的區别我貼張圖吧。
我們了解了坐标,對象的初始位置也可以用坐标來設置,具體怎麼讓對象動起來我在篇文章會講解,我先賣個關子。
素材和源代碼
import pgzrun
WIDTH = 1002
HEIGHT = 687
TITLE = '遊戲大廳'
bg = Actor('背景.png')
pic = Actor('圖片.png')
def draw():
bg.draw()
pic.draw()
pgzrun.go()
素材下載:
代碼有問題,圖片鍊接打不開歡迎留言哦!
第一次寫文章,大家多多關照!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!