Scratch键盘记录编辑器
2020-11-16
在以往的Scratch实例中,我们通常只用到侦测模块部分功能比如侦测方向键来完成小游戏,今天我们利用侦测模块监控键盘上的字母、数字等按键的输入,完成一个监测并记录键盘输入的小程序。
为了能做到侦测全键盘输入,首先要对键盘上的按键进行分类并且整理成一个列表。按键种类可以分为四种:符号(。,:),数字(1234),字母(AaBb),特殊按键(enter,space)。
一、变量和列表设置
新建“键盘按键”列表,在列表中输入英文字母、数字和字符。
字母有大小写之分,为了节约代码量,在列表中一个字母的大小写保存在同一项中,在列表中的序号是1到26。
我们还需要新建变量进行保存和识别数据。“大小写”用来记录字母大写或者小写的状态,“输入”用来保存每次按键输入时的状态,“我的变量”用来保存输出的结果。“保存文本”列表记录通过键盘输入的内容信息。
二、 代码编写
1. 程序初始化
根据程序的最终效果将一些角色隐藏,将变量设置为初始值。程序运行后,当用户输入大小写字母或者是数字时,按下空格键后程序将用户输入的内容添加进“保存文本”列表中,并且清空其他内容恢复为初始状态。
当点击运行按钮后,首先清除“保存文本”列表中的所有内容,将“大小写”状态设置为小写,其他变量恢复成空状态。切换大小写可以通过上下键切换(图1)。
2. 啟动监控文本输入积木
当按下任意键启动按钮识别。触发“监控键盘输入文本”自定义积木。其中变量I用来做循环的序列号,不同的序列号对应着不同的字符以及数字,将键盘按键列表中的个数当作循环的次数,当用户按下键盘中的键后对应从列表中寻找指定的字符,如果成功从列表中找到了字符那么就输出到面板上,如果查询失败,输出为空。用户可以通过对列表的序列进行匹配以确定内容所在的位置以及内容(图2)。
3. 输入大小写字母
接下来我们要根据输入的不同字符进行条件判断。当需要输入大写字母时,从列表中提取对应项的第二个字符,小写提取该项的第一个字符(图3)。
4. 输入数字
当用户输入数字,在列表中查询数字对应的序号(27-36),查询成功后直接输出(图4)。
5. 输出字符记录
用“我的变量”来临时存储输入内容,将新输入的字符连接在“我的变量”之后。全部输入完成后只需要按下空格键,便将“我的变量”存入“保存文本”列表(图5)。
三、 完善和优化
目前的代码只完成了输入字母和数字。在实际的应用中我们还需要输入其他种类的字符,如果输入错误还需要用到退格键。那么该如何修改代码呢?挑战一下自己。