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