最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

Hacked Blocks——在Scratch2.0中使用特殊按键

Scratch 少儿编程 3875浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

Hacked Blocks——在Scratch2.0中使用特殊按键

       Scratch对于键盘按键的支持仅限于二十六个字母、0-9十个数字、四个方向键、空格键以及“任意键”,且所谓的任意键仅局限于上述几种按键。Scratch项目无法识别退格键、回车键、上档键(当然一般的用户界面操作,如输入参数时,都是可以使用这些按键的)。所以Scratch对于键盘按键的支持还是比较弱的。如果你想制作一个允许用户输入内容的项目(如登录界面,输入用户名和密码),包含退格功能,那么一般来说都只能用别的按键代替,而不是像在其他办公软件直接按退格(delete)键即可。某种程度上来说,遇到软件的局限性是Scratchers最束手无策的情况。

    事实上,如果你真的很想尝试在Scratch中实现这些特殊按键的侦测,也并不是没有办法,毕竟人的主观能动性是很强大的。本文将会介绍这种称之为“hacked blocks”的办法。


 

01

 

1、新建项目,拖出一个【按键()是否按下?】放在脚本区。

Hacked Blocks——在Scratch2.0中使用特殊按键

2、将项目保存在桌面,此时后缀为.sb2。

Hacked Blocks——在Scratch2.0中使用特殊按键

3、将后缀改为.zip,即压缩文件。

Hacked Blocks——在Scratch2.0中使用特殊按键   Hacked Blocks——在Scratch2.0中使用特殊按键

4、打开压缩包,找到文件“project.json”,拷贝至桌面。

Hacked Blocks——在Scratch2.0中使用特殊按键

BTW,这些其他文件,png、svg都是刚才的scratch项目中的造型、背景图片,.wav则是角色自带的声音文件。

5、我使用notepad++进行编辑

Hacked Blocks——在Scratch2.0中使用特殊按键

6、打开后就能看到项目的源文件了,其中包含了这个项目的所有信息和内容。这里有很多可以挖掘的内容

Hacked Blocks——在Scratch2.0中使用特殊按键

7、找到脚本,找到刚才使用的【按键()是否按下?】积木。

Hacked Blocks——在Scratch2.0中使用特殊按键

 

8、脚本信息,10,10表明这块积木在脚本区中的坐标(Scratch不止舞台有坐标,脚本区、绘图编辑器中都是用坐标来表示对象的位置的),“keyPressed”表示【按键()是否被按下?】积木,后面的“space”则表示你通过下拉菜单选择的按键——空格键。没错,如果希望我们的项目能侦测特殊按键,修改这个部分即可。

"scripts": [[1010, [["keyPressed:""space"]]]]
9、退格键如何用代码表示?答案是使用Unicode编码,使用“u”告诉程序这是一个Unicode编码,退格键的编码是8,改成“u0008”即可。
"scripts": [[1010, [["keyPressed:""u0008"]]]]
10、保存,然后用编辑过的.json文件将“hacked block.zip”中的“project.json”文件替换掉

Hacked Blocks——在Scratch2.0中使用特殊按键

11、将后缀改回.sb2

Hacked Blocks——在Scratch2.0中使用特殊按键

12、打开项目,可以看到原来的【按键()是否按下?】积木变成了现在这样。

Hacked Blocks——在Scratch2.0中使用特殊按键

13、使用如下程序测试按键是否能正常使用

Hacked Blocks——在Scratch2.0中使用特殊按键

14、按下键盘退格键(backspace),小猫说“按下”,说明条件成立,说明此时你的项目已经可以侦测退格键了。

Hacked Blocks——在Scratch2.0中使用特殊按键


02

1、退格键仅仅是特殊按键中的一种,其他键盘上的按键也可以用这种方法实现,只要通过查询得到其Unicode编码,如Esc键可以用”u001b”表示。另外回车键可以用“r”表示,Tab键可以用“t”表示。

2、特殊按键侦测也仅仅是Hacked blocks众多应用中的一种,只要你充分发挥想象力,还可以实现其他许多的功能。

3、当然,由于这是一种非常规手段,所以在稳定性上面难以保证,使用时要谨慎(单用作特殊按键侦测目前还没有发现异常情况)。

4、附上案例视频


 

Final

往期原创文章推荐

1、每个Scratcher都应该知道的浮点运算

2、Scratch3.0的造型中心点精确校准方法

3、Scratch3.0的十宗罪

4、Scratch2.0中【碰到颜色()?】积木产生的卡顿现象及分析

5、关于Scratch

6、从数据类型到计算思维

7、Scratch中颜色的正确使用姿势

 

转自公众号:
Scratch格物堂

您必须 登录 才能发表评论!