一,前言
pgzero是pygame的入门级模块,可以快速入门,上手简单. 官网:pgzero官网 本文发布在csdn-ljworg与[www.yiwan.fan
](https://www.yiwan.fan)
二,pgzero
废话不多说,直接来安装! 打开cmd输入以下代码:
1 | pip install pgzero |
打开cmd:win+r输入cmd,点击确定
三,导入模块,开始游戏!
1 | import pgzrun#导入模块 |
点击运行,pia,出现了一个黑框
并展示出了这段话…
pygame 1.9.6 Hello from the pygame community. https://www.pygame.org/contribute.html
四,正式开始
1.改变窗口颜色
默认的是黑色,我们把它可以变换成别的颜色 加上代码
1 | def draw(): |
我们来逐一解释一下他的意思!
def draw():是绘制的功能名(名字不能更改),以后也会用到他绘制角色.
screen.fill的fill是screen模块中的一个功能,相当于窗口的背景色.中间的(255,255,255)是元组(和列表差不多,只不过不能修改),三个值分别是r,b,g颜色,255,255,255就是白色.(这个功能只能放在draw功能中,放在别的地方会报错没有screen这个模块).
2.将图片为背景
其实pgzero并没有专门的设置背景的方法,只不过是照一张和窗口一样大的图片(后面有设置窗口大小的方法)并添加这个角色. 代码:
1 | import pgzrun |
Actor——–创建角色,返回值存在任意变量里 act.draw()–绘制角色,需要是第一个绘制,在最底层,就有背景的效果. 这个图片要在和游戏文件的同级的文件夹images中(4.添加游戏角色有详解)
效果图:
这是就有了一个问题,图片的尺寸比窗口小,这时就来到了下一个知识点,如何设置窗口大小
3.设置窗口大小
在import pgzrun之后,pgzrun.go()之前,不在某个功能之内(是不是有点啰嗦…)加入以下代码
1 | WIDTH=500 |
500就代表这个窗口的长,600代表这个窗口的宽,按情况修改吧…WIDTH和HEIGHT只能是大写.
4.添加游戏角色
1 | part=Actor('角色.png',[100,200]) |
角色图片要在文件夹images里
在图片名称后加一个列表就可以自定义坐标
1.如何使角色移动
我们首先来看一张图
pgzero的坐标系和数学中的坐标系不一样的,正常应该是越往上y轴越大,但是这是越往上越小
知道这个之后,我们就可以根据这个来修改
我们可以通过这个图,看到一个角色分别由image,width,height(其实还有x,y,和pos属性)
1 | (角色名).x+=1 |
这时我们就引入了一个新的知识点,重复执行
这是肯定就会有人说就while True:但是这其实这是不行的,我们的目的是让他游戏运行的同时重复执行,但是他会因为一直在重复执行而无法运行到pgzrun.go()
2.重复执行
其实pgzero内置了一个功能,叫做update,话不多说,上实践
1 | import pgzrun |
运行之后,果然游戏界面(因为没设置角色,所以是黑框),并且持续 根据这
5.处理鼠标单击事件
1 | import pgzrun |
点击鼠标后..
但是我们获取他点击的作用不就是看看有没有点某个按键或者角色,所以就需要得到点的坐标(判断是否相碰后面有具体方法)
1.获取鼠标点击坐标
获取坐标方法:
1 | import pgzrun |
随便点一下,打印出来一个元组
2.获取鼠标点击键(左键or右键)
在电脑桌面上,你可以双击左键打开一个文件或者文件夹,右键用来新建等操作,但是我们的程序却把两者是为一样的,这是就有一个新的功能,获取点击的键.
1 | import pgzrun |
只需要在pos参数后再加一个参数button,点击之后就可以打印出是左键还是右键
不难发现,他的格式是mouse.+按键,所以要是想要判断就可以直接if button==mouse.LEFT
3.判断鼠标是否点击到角色
使用collidepoint功能可以判断一个角色是否触碰一个坐标/点
1 | ###参考代码### |
点击角色之后…
a和pos不能调换
6.判断两个角色是否碰撞
1 | import pgzrun |
使用colliderect功能即可判断两者是否相碰
7.在窗口上绘制字
1 | import pgzrun |
‘我是内容’——内容 [320,40]—坐标 60—–大小