pgzero是pygame旗下,能够帮助初学者快速提升游戏创作而使用的库。
pgzero官方文档,可以快速浏览和学习有关pgzero的相关知识
一、环境安装
为了加快开发进度,我们选用Thonny来快速开发,这是新手python学习的主要工具之一。
Thonny, Python IDE for beginnershttps://thonny.org/运行Thonny后,找到工具或Tools中,打开系统shell。
pip install pgzero -i https://pypi.tuna.tsinghua.edu.cn/simple/
复制上述代码将pgzero库进行安装。
二、导入库函数
import pgzrun#库函数
pgzrun.go()#启动代码
运行显示出现黑框表示pgzero安装成功。
三、框架代码
import pgzrun#库函数导入
def draw():#绘画内容
pass
def update():#刷新内容
pass
pgzrun.go()#启动代码
在pgzero中,def draw()函数在里面用来放置绘图内容、def update()函数用于刷新。
四、角色功能定义
角色定义
定义一个角色可以使用
变量名=Actor('图片名')
变量名.pos=x,y
变量名=Actor('图片名',(x坐标,y坐标))可以快速定义角色位置
角色绘制
1.如果想要角色的绘制,首先你需要在当前文件夹下面建立一个名为images的文件夹
名字必须为images如果更改则会出现报错,应为在上层的代码中,他是通过访问images中的图片
import pgzrun
player=Actor('tank2')
def draw():
player.draw()
pass
def update():
pass
pgzrun.go()
定义角色名,添加角色图片,图片的名称为tank2
将定义好的角色在draw中进行绘制,如果不在draw函数中使用player.draw()他也是无法进行在窗口中绘制出来的。窗体默认为800x600,
pos位置改变
通过角色的私有属性pos,即可定义角色的初始位置
在pgzero中,窗体的左上角点为(0,0)
player.pos=100,100
在后续课程中将讲述角色的运动,运动过程也和角色的位置息息相关,还有x,y等属性。
五、按键功能
def on_key_dow(key)#按键按下功能,携带返回值key
def on_key_down(key):
print(key)
打印key可以看到你的按键返回值。每次按键按下后执行一次。
keyboard.按键名
该函数一般放置在update更新函数中,用于控制人物的移动。
def player_move():
if keyboard.w:
player.y-=speed
if keyboard.a:
player.x-=speed
if keyboard.s:
player.y+=speed
if keyboard.d:
player.x+=speed
def update():
player_move()
该函数可以放置在update函数中进行持续的不间断检测,所以当按键按下后他会持续进行判断输出。
六、背景填充
screen.fill('颜色')
screen.fill()放置在def draw函数中,用于背景颜色的绘制。
没有使用颜色填充时,会留下人物移动的路径
使用颜色填充后
颜色填充可以消除角色在移动过程中的路径,应为draw函数是一直在触发刷新的,所以背景将持续不断地进行刷新填充。
screen.blit('图片为',(x,y位置))
一般写法screen.blit('图片名',(0,0)),即可填满一个窗口。
修改窗口大小
WIDTH=1300
HEIGHT=780
源码如下:
import pgzrun
WIDHT=1300
HEIGHT=780
player=Actor('tank2')
player.pos=100,600
speed=5
def draw():
#screen.fill('black')
screen.blit('b2',(0,0))
player.draw()
pass
def update():
player_move()
pass
def player_move():
if keyboard.w:
player.y-=speed
if keyboard.a:
player.x-=speed
if keyboard.s:
player.y+=speed
if keyboard.d:
player.x+=speed
pgzrun.go()