pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero

一,前言

pgzero是pygame的入门级模块,可以快速入门,上手简单.
官网:pgzero官网

二,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-----大小

  • 58
    点赞
  • 156
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 41
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘津玮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值