木子呢 发表于 2022-10-14 11:58:43

【行空板图形化Python入门教程】第03课:西游记舞台剧

本帖最后由 木子呢 于 2022-11-7 17:21 编辑

第03课 西游记舞台剧

《西游记》是中国神魔小说的经典之作,讲述了慈悲啰嗦的唐僧、神通广大的孙悟空、憨厚直率的猪八戒以及善良老实的沙僧,师徒四人西行取经的故事。

本节课我们就以西游记为主题,在行空板上展示一个师徒四人的小舞台剧。



任务目标

在行空板屏幕上显示动态角色唐僧和孙悟空以及台词,按下行空板按键,猪八戒和沙僧及对应台词分别出现。
https://www.bilibili.com/video/BV1jD4y1C7ap/

知识点

1. 认识程序中的循环结构

2. 理解程序中对象的概念和命名规则

3. 掌握行空板A/B按键操作方法

4. 掌握行空板屏幕显示图片的方法

材料清单
硬件清单




行空板x1



Type-C&Micro二合一USB线x1


软件使用

Mind+编程软件x1


下载地址:https://www.mindplus.cc



动手实践

西游记舞台剧主要包括背景画面、动态的师徒四人和有趣的台词,当然还可以使用按键手动控制角色出现,接下来我们就把舞台剧拆分成三个任务来制作吧。

任务一:布置舞台初始画面

在此任务中,我们通过学习行空板图片显示方法,根据唐僧和孙悟空出现的位置,完成舞台剧初始场景的显示。

任务二:让角色动起来

在完成舞台剧初始场景显示后,我们将通过对图片的切换和更新图片位置的方法的学习,来实现角色动画效果。

任务三:使用按键让角色逐个出现

这一步我们会学习使用行空板上的按键操作方法,控制猪八戒和沙僧出现。


任务一:布置舞台初始画面

1. 硬件搭建

使用USB连接线将行空板连接到计算机。



2. 软件准备

打开Mind+,按照下面图示完成软件准备过程。



3. 编写程序

观察一下,舞台剧初始场景中包含背景图片、唐僧、孙悟空,接下来开始学习如何把它们显示到行空板屏幕上。



首先,背景图片在行空板屏幕上的显示需要三个步骤:找到图片、将图片加载进项目、使用指令显示图片。

第一步:

找到图片,在附件资料中的“第三课 图片素材”文件夹中找到“bg.png”图片文件;



第二步:

将图片加载进项目,在Mind+的“快捷工具区”点击“文件系统”打开文件目录,将“bg.png”图片拖入“项目中的文件”里。



拖入后,就已经成功将图片加入项目了。文件目录中会显示图片文件的完整名称,如下图:



第三步:

使用指令显示图片,在指令区“行空板”分类下的“屏幕显示”里寻找含有“图片”关键字的指令,拖出对应显示图片的指令:对象名 显示图片 在X0Y0 ,然后修改“显示图片”为背景图片名称“bg.png”,将指令放在预设代码 python主程序 开始 的下面。





现在,你可以使用同样的方法,将“西游记-唐僧1.png”和“西游记-孙悟空1.png”两张图片显示在行空板屏幕上。关于唐僧和孙悟空的坐标设置,可以结合行空板屏幕坐标以及他们的位置关系进行设置。

注意:图片的坐标默认是图片左上角位置。



完整的代码如下:



4. 程序运行

点击运行,观察行空板屏幕显示效果,如下图:



行空板屏幕显示效果

任务二:让角色动起来

1. 编写程序

通过上一个任务,舞台初始画面已经显示完成,接下来我们学习如何让角色动起来。

(1)唐僧走动

如果想让初始画面中的唐僧动起来,则需要多张唐僧走动动作的图片,按顺序不断切换。也就是说需要将在“第三课 图片素材”文件夹中所有有关唐僧的图片加载进程序,然后使用指令在程序中不断更换需要显示的图片。



更换图片的指令在指令区“行空板”分类下的“屏幕显示”里,你可以寻找含有“更新图片”关键词的指令,拖出 更新对象 图片源为 。



使用此指令时,需要指明需要更换哪张图片,例如上面已经显示的唐僧和孙悟空图片。通常的处理方式是给图片设定一个对象名,比如给唐僧的图片设定为“tang”,这样就可以修改这张图片的图片源了。

注意:关于对象知识的详细介绍,参见“知识园地”。



与唐僧走动相关的图片一共有4张,所以我们需要4个更换图片指令分别对应它们。
















然后按顺序完成指令搭建,为了让唐僧以合适的速度持续运动,可以在每个更换图片的指令前面放 等待0.2秒 并将完成的代码放在 循环执行 里。



注意:等待秒 指令和 循环执行 都在“控制”分类下,关于 循环执行 的更多知识,参见“知识园地”。




"等待秒"指令



“循环执行”指令


(2)孙悟空腾云

孙悟空腾云的效果和唐僧走路非常相似,不同的是,孙悟空不止有动作的变化,还需要向上移动,改变Y坐标。

此时我们要给孙悟空图片设定对象名为“sun”,修改坐标要使用到 更新对象名 的数字参数 为指令,你可以在“行空板”指令分类下,寻找含有“数字参数”关键词的指令,拖出并修改对应内容。





为了让孙悟空向上飞行慢一点你可以多次改变孙悟空图片位置。

参考完整代码如下:



2. 程序运行

检查行空板连接,点击运行,观察行空板屏幕,可以看到孙悟空飞起,然后唐僧原地走动。



运行前效果图




运行后效果图

3. 试一试

(1) 现在孙悟空已经可以上升了,但是孙悟空飞起的动作还很单调,请你利用“第三课 图片素材”文件夹中孙悟空的图片素材,让他能够腾云上升。





(2) 现在师徒四人还差沙僧和猪八戒,请你把猪八戒和沙僧也添加进舞台,并让他们和唐僧一起走动。




任务三:使用按键让角色逐个出现

1. 编写程序

在上一个任务中,运行代码后,师徒四人已经出现,现在我们可以使用行空板自带的A/B按键,手动控制角色的出现。

处理的大致思路是:先让角色移出行空板屏幕,然后使用行空板A/B按键,控制他们移动到合适的位置。

以猪八戒为例,移出行空板屏幕的操作只需要修改猪八戒开始出现的X坐标。



原理图示



代码截图

接下来,我们来学习按键的操作。按键操作指令在“行空板”分类下的“鼠标键盘事件”中,拖出 当按键A被按下 指令。

注意:在行空板屏幕正对你时,行空板A/B键位于行空板左侧,上为A键,下为B键。关于行空板按键相关知识,参见"知识园地"。



接下来,就可以很方便的完成当按下A键,猪八戒的X坐标更新到合适的位置。



最后,完善你的代码,参考上节课的知识,为唐僧、孙悟空、猪八戒和沙僧四个角色添加对应的台词。

完整的程序请参考以下代码:



2. 运行程序

点击运行,唐僧和在空中的孙悟空头顶出现台词,按下行空板右侧A键,猪八戒和对应台词出现。






3. 试一试

你现在已经学会按键操作了,不妨试一试使用行空板B键,控制沙僧和对应台词出现吧。






知识园地

1. 循环结构

循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构,它通常可以被描述为如下执行流程:



在今天的项目中,为了让唐僧、猪八戒和沙僧在屏幕中一直走动,我们使用了 循环执行 指令,它表示将某些操作一直循环重复的执行。循环执行 是循环结构中最简单的指令,又叫做“死循环”,它的执行过程是循环往复,不会停止。另外,在循环结构中还会有条件循环、有限次循环等指令,后续的课程中用到会再详细介绍。

2.程序中的对象

(1)理解程序中的对象

在程序世界的“对象”是程序中具体的操作目标,比如在舞台剧中,孙悟空图片、孙悟空台词等等这些具体的操作目标,都是对象。



有了对象,给对象起好名字,就可以对对象的位置、颜色、文字内容等属性进行修改。修改的时候通常需要在建立好对象的基础上,搭配使用含有 更新对象 关键词的指令来完成操作。

例如,要修改文字对象t的文本内容为“你好”,需要如下两个指令即可完成:



我们现在已经学过四种对象:文字、数码管字体、矩形和图片对象,需要说明的是对于不同的对象可以修改的属性又略有不同,使用时你可以参考下表查找可修改属性。




注意:更详细的属性内容介绍,请进入行空板官网的“基础控件”页面查看。链接:https://wiki.unihiker.com/unihiker_python_lib_2

(2)对象的命名规则

为了方便对对象进行操作,需要给对象命名,它的命名规则如下:

a) 一般由数字、字母、下划线构成;

b) 不能由数字开头;

c) 命名不能使用Python的关键字,即Python中已经有特殊含义的词,如True、False、def、if、elif、else、import等;

d) 建议命名不要太长,尽量有意义,不要使用中文。

3. 行空板按键

行空板上一共有三个按键,它们分别是A键、B键和Home键。当行空板屏幕正对你的时候,A键位于右侧上面,B键位于A键下方,而Home键位于左侧。



关于行空板A/B键的相关指令都位于“行空板”分类指令下的 鼠标键盘事件 。另外,在断开行空板,使用Python运行弹窗测试代码时,A/B按键其实对应的就是键盘上的A和B按键。使用时,记得切换至英文输入法。



Home键不可以使用指令进行控制,但如果行空板正在运行代码,长按Home键,会终止代码的运行,并直接回到行空板开机画面。

另外,Home键常被用来对主菜单进行操作。在主菜单操作部分,长按Home按键可进入主菜单;短按Home按键表示确认或进入选项;此时,AB键可分别表示光标的上下移动。

注意:行空板上运行了一个Home主菜单,关于主菜单的详细介绍,可进入行空板官网“行空板Home菜单”页面查看。链接:https://wiki.unihiker.com/homemenu

4. 指令学习

本项目主要使用了图片显示、更新对象数字参数以及A/B按键操作指令,接下来我们就详细学习一下指令。



该指令用于在行空板屏幕显示一个图片对象,在指令中可以设置对象名、图片文件名和图片位置。





该指令用于改变指定对象的数字参数,在指令中需要写明改变的对象名、参数、以及修改参数值。





该指令用于改变指定图片显示对象的图片内容,在指令中需要写明改变的对象名以及要修改的图片文件。





该指令表示当行空板A键被按下,执行下面放置的程序,下拉参数包括A和B。





该指令用于延时等待,当执行到这条指令时,会等待指定的时间,然后继续执行下面的程序。

挑战自我

你已经学会如何显示、切换图片以及按键操作,现在不妨使用“第三课 挑战自我素材”文件夹内的图片,制作一个使用按键打扰行空板屏幕精灵休息的小案例:



1)屏幕中间显示打瞌睡的动态表情;



2)按下行空板A键,动态表情变为思考,并显示“你找我有什么事?”;



3) 按下行空板B键,动态表情变为汗颜,并显示“没事你别按它”。



附件下载





rzegkly 发表于 2023-9-28 20:20:11

学习打卡

DFKK-SUN 发表于 2023-12-20 14:30:32

学习打卡

wangyi101 发表于 2024-4-18 13:41:16

1、行空板运行的程序是 py 文件,mp 文件有什么用?
2、图片和 mp 文件 在同一个文件夹里,比如 桌面\test ,为什么图片显示不成功?
3、“项目中的文件”,我查了一下,是缓存目录,为什么保存项目到桌面了,它会继续保存在缓存目录?
4、保存在桌面上的项目,上传到行空板时,是把 缓存目录里存放的 图片 和 py 文件上传到行空板?桌面项目里的图片不能自动上传?

ki123456 发表于 2024-4-18 14:15:11

wangyi101 发表于 2024-4-18 13:41
1、行空板运行的程序是 py 文件,mp 文件有什么用?
2、图片和 mp 文件 在同一个文件夹里,比如 桌面\test...

mp文件是Mind plus项目文件,py文件是程序文件。Mind+的操作是点击运行,软件会自动生成PY文件,放在缓存文件夹,然后再将缓存文件夹整个传入行空板运行。电脑桌面和行空板是不同的设备,两个没有任何的关系,当然不会自动上传。你可以在MInd+li存一张图片,然后用绝对路径如“root\mindplus\test.png”(文件目录已存在才行)去读图片。
行空板文件操作连接:https://www.unihiker.com.cn/wiki/samba

实践起来2024 发表于 2024-5-15 14:19:02

学习打卡            
页: [1]
查看完整版本: 【行空板图形化Python入门教程】第03课:西游记舞台剧