龙空技术网

儿童Python代码编程库Pygame Zero介绍

小小学编程 1066

前言:

今天小伙伴们对“python少儿编程网”大体比较关注,看官们都想要知道一些“python少儿编程网”的相关文章。那么小编同时在网络上汇集了一些对于“python少儿编程网””的相关内容,希望小伙伴们能喜欢,看官们一起来学习一下吧!

现如今,随着人工智能的兴起,Python语言随之大热起来,而由于浙江和山东高考把Python语言纳入以后,Python自然而然就有了在儿童阶段进行教学的一些需求。

大部分Python儿童编程的入门会选择turtle或者pygame库来进行,但是这两个库其实都不太适合儿童编程的特点。

turtle本质上算是画图工具,只不过把这个画图过程用Python指令来进行,不太适合做一些高交互的游戏,而游戏化教学本来就是儿童编程必须具备的特性,不然很多孩子可能一上来就放弃了。而且turtle本身只是能画图,缺少声音、精灵、事件处理等,必须结合其他库才行,这个局限性就差多了。

而pygame则难度过高一些,pygame可以开发一些正式的大型游戏了,他里面的编程接口比较复杂,有些还比较底层,对于孩子来讲,有些概念不太适合过早接触,或者说暂时理解上有难度。让孩子一上来就用pygame,势必事倍功半。

pygame zero则不然,他一开始就是为了教育出发而进行设计,它是由pygame构建的,并针对教育目的进行了封装和简化,孩子们学习的时候就不需要去做一些跟学习编程、快速搭建游戏无关的代码工作,也不需要去了解复杂的api及事件处理。

现在让我们来了解一下:

游戏的程序结构

一个游戏的程序结构一般是

1、判断及处理输入的数据(来自键盘、鼠标、传感器、网络等等)

2、进行逻辑的处理,更新游戏角色的数据

3、进行游戏场景、角色等的绘制、声音的播放

4、不断循环第1步到第3步,除非程序退出

如果用pygame来做游戏,就要做很多额外的工作,在上面的基础之上还需要包括初始化pygame、主循环逻辑、处理事件等等,而pygame zero就简单多了,都被它实现的pgzrun程序封装掉了。

Pygame Zero的主要结构

所有的Pygame Zero程序都通过pgzrun来运行,比如我们写的game.py程序,需要这么启动运行:

pgzrun game.py

也可以通过代码进行直接运行,这个时候就是个普通python程序了,程序需要引入pzrun模块,并书写代码:

pgzrun.go()

Pygame Zero的主要结构跟游戏的通用结构类似:

draw()函数,在这里实现的就是游戏结构中的第三步update()函数,在这里实现的就是游戏结构中的第二步输入判断则封装成事件函数,不需要自己关联事件

on_mouse_开头的鼠标事件函数

on_key_开头的键盘事件函数

一个简单的Pygame Zero程序

这个程序在一个500x500的上部,出现一个小人(pygame zero内置的角色alien)不断的从左边跑到右边,如果到了最右边,则会从最左边出现,循环反复。中途如果点了鼠标,则会打印输出"点击了鼠标了!",如果有键盘输入,则显示"敲了键盘了!"。整个程序非常简单,我们可以对着pygame zero的api进行扩展,加入更多角色,游戏音效等。

import pgzrun alien = Actor('alien')alien.topright = 0, 10 WIDTH = 500HEIGHT = 500 def draw():    screen.clear()    alien.draw() def update():    alien.left += 2    if alien.left > WIDTH:        alien.right = 0def on_mouse_down():    print("点击了鼠标了!") def on_key_down():    print("敲了键盘了!")       pgzrun.go()

专注儿童编程,敬请关注,谢谢!

标签: #python少儿编程网 #python少儿编程工具