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

一,前言

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

文章目录

  • 一,前言
  • 二,pgzero
  • 三,导入模块,开始游戏!
  • 四,正式开始
    • 1.改变窗口颜色
    • 2.将图片为背景
    • 3.设置窗口大小
    • 4.添加游戏角色
      • 1.如何使角色移动
      • 2.重复执行
    • 5.处理鼠标单击事件
      • 1.获取鼠标点击坐标
      • 2.获取鼠标点击键(左键or右键)
      • 3.判断鼠标是否点击到角色
    • 6.判断两个角色是否碰撞
    • 7.在窗口上绘制字
  • 五,最后

二,pgzero

废话不多说,直接来安装!
打开cmd输入以下代码:

pip install pgzero

打开cmd:win+r输入cmd,点击确定

三,导入模块,开始游戏!

import pgzrun#导入模块

pgzrun.go()#这步是用来开始游戏,末尾必须有

点击运行,pia,出现了一个黑框
pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero_第1张图片
并展示出了这段话…

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html

四,正式开始

1.改变窗口颜色

默认的是黑色,我们把它可以变换成别的颜色
加上代码

def draw():
	screen.fill((255,255,255))

pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero_第2张图片

我们来逐一解释一下他的意思!

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.添加游戏角色有详解)

效果图:pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero_第3张图片
这是就有了一个问题,图片的尺寸比窗口小,这时就来到了下一个知识点,如何设置窗口大小

3.设置窗口大小

在import pgzrun之后,pgzrun.go()之前,不在某个功能之内(是不是有点啰嗦…)加入以下代码

WIDTH=500
HEIGHT=600

500就代表这个窗口的长,600代表这个窗口的宽,按情况修改吧…WIDTH和HEIGHT只能是大写.

4.添加游戏角色

part=Actor('角色.png',[100,200])

角色图片要在文件夹images里

pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero_第4张图片

在图片名称后加一个列表就可以自定义坐标

1.如何使角色移动

我们首先来看一张图
pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero_第5张图片

pgzero的坐标系和数学中的坐标系不一样的,正常应该是越往上y轴越大,但是这是越往上越小

知道这个之后,我们就可以根据这个来修改
pgzero/pygame zero新手教程,pgzero/pygame zero教程,如何使用pgzero/pygame zero_第6张图片
我们可以通过这个图,看到一个角色分别由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-----大小

五,最后

这就是全部内容啦~
这是本人第一次写博客,不好请见谅
! 未经允许,请勿转载 !

你可能感兴趣的:(python,游戏)