为什么写这个教程
学Python的应该都知道,pygame是用来写游戏的,但也可以用来写页面,不过有些操作很繁琐,要导入用于关闭游戏的sys,还要通过pygame.init()初始化游戏,但pgzero不仅有pygame里面基本所有功能,而且操作简单,不过网上pgzero的教程少之又少,我准备写一套教程帮助大家。
导入模块
import pgzrun
可以通过这个语句导入模块,但如果你比较懒,使用模块中的功能时不想写太长的模块名,你可以用as功能起个别名,也可以直接用下面的代码,省略模块名。
from pgzrun import *#使用时直接可以这样go()
页面初始化
接下来我们要设置窗口大小和窗口名称,可以用以下语句。
WIDTH = 1002HEIGHT = 687TITLE = '游戏大厅'
应该没有不懂英文的吧,宽度是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 pgzrunWIDTH = 1002HEIGHT = 687TITLE = '游戏大厅'bg = Actor('背景.png')pic = Actor('图片.png')def draw(): bg.draw() pic.draw() pgzrun.go()
素材下载:
背景.png——「链接」图片.png——「链接」代码有问题,图片链接打不开欢迎留言哦!
第一次写文章,大家多多关照!