Scratch3.0的十宗罪

admin 发表于 2019-06-14 11:05

        2019年1月,MIT媒体实验室终生幼儿园团队发布了Scratch3.0正式版,但是由于一些功能的缺失、甚至BUG,一直饱受诟病。给人的感觉就像是为了不跳票而匆忙发布的BETA版软件。截止目前,Scratch3.0桌面版的最新版本是3.3.0。今天Scratch格物堂就来盘点一下那些待完善的功能(以桌面版为主)。

01

更新

    首先是软件的更新问题。Scratch3.0桌面版无法像Scratch2.0那样在启动时会自动检查版本号并提示更新信息,使用者只能定期访问官网scratch.mit.edu,然后前往下载页面点击下载,在弹出的保存框中查看当前最新的版本号,然后和本地的软件版本号进行对比。

https://cdn.china-scratch.com/timg/190614/1105063Y3-0.jpg

        另外版本号也有些混乱。正式版发布之初,桌面版软件的版本号是1.1.0,后来有一次小更新,版本升级为1.1.2,而后直接升级成了3.3.0,个人认为是版本号命名规则发生了变更。

02

保存、打开

      Scratch3.0桌面版的文件打开也是相当麻烦。一般的文件只要双击图标就能打开,2.0离线版也是如此。但是如果双击打开一个3.0的文件,打开后却是一个空的文件,等于说双击文件图标只能打开编辑器,而打开某个指定的作品只能在打开编辑器后点击文件-从电脑上传,然后选择目录,打开指定作品。一旦需要频繁打开不同作品,或者目录比较深的时候,将会十分不方便。另外3.0文件的打开方式需要手动关联软件,尽管出于上述问题,这只能起到图标更加美观的作用。

https://cdn.china-scratch.com/timg/190614/11050IH6-1.jpg

        至于文件的保存,如果同一个文件,在保存时也没法直接覆盖,只能另存为,重新选择之前的文件保存。当然,网页版的编辑器不存在文件保存的问题。

03

造型中心校准点

        虽然Scratch3.0对于绘图编辑器(画板区)进行了升级,新增了一些功能,且优化了原有的功能。但是唯独造型中心点的设置十分麻烦。在2.0中可以拖动十字交线来设置中心点,如下图

https://cdn.china-scratch.com/timg/190614/11050MW5-2.jpg

2.0绘图编辑器设置造型中心按钮

但是在3.0的绘图编辑器中只能通过调整角色的造型来对准“底层”的中心校准点。

https://cdn.china-scratch.com/timg/190614/11050H325-3.jpg

Scratch3.0绘图编辑器中的造型中心校准点

不合理的本质在于,凡是不透明的造型,在拖动造型时,根本无法看到中心点的位置,因为3.0的中心点始终是在最下层,中心点将会被造型覆盖,只能估算它的位置。其实只要让中心点始终浮于最上层,根本不需要额外的功能,设置造型中心点就会方便很多。当然像2.0那样额外增加一个校准中心点的工具更好。当然,要想精确设置造型中心点的办法也是有的,Scratch格物堂将会另外写一篇文章进行讲解,此处先放一个空链接:

【这是链接】

04

消息的发送者和接收者

          在Scratch2.0中,可以通过右击【广播(↓)】或【当接收到(↓)】这两个积木,在弹出的下拉菜单中选择显示发送者或显示接收者以查看某条消息是由哪个/哪几个对象发出的,又是由哪个/哪几个对象接收的。这个功能对于大型程序的阅读和维护都是十分有帮助的,哪些角色之间是通过消息产生耦合,一目了然。

https://cdn.china-scratch.com/timg/190614/11050M5I-4.jpg

右击消息积木可选择显示发送者/接收者

https://cdn.china-scratch.com/timg/190614/11050Ub9-5.jpg

发送者/接收者将会用黄色边框标明

        但是在Scratch3.0中这个功能被删除了,可以想象,一旦在程序规模较大,角色数量较多的情况下,在修改程序时,希望对某条消息的所有接收者代码进行修改,只能一个角色一个角色翻阅过去,实在不方便。

05

鼠标当前坐标

        在2.0中,鼠标的当前坐标可以通过舞台展示区下方的数值得到

https://cdn.china-scratch.com/timg/190614/11050U512-6.jpg

Scratch2.0中鼠标当前坐标查看方法

            虽然此功能并不是必不可少的,但是在某些情况下,比如测试时,或者是对于初学者,还是能起到一些作用的。可惜在3.0中这个功能也被删除了。我们只能通过另写程序来获取鼠标当前坐标。

https://cdn.china-scratch.com/timg/190614/11050S320-7.jpg

Scratch3.0中获取鼠标当前坐标的代码

06

角色右键菜单

    位于舞台展示区中的角色无法使用右键菜单,只能在角色区中进行操作。

https://cdn.china-scratch.com/timg/190614/11050TQ8-8.jpg

Scratch2.0舞台中角色的右击菜单

      在舞台展示区中无法通过右键抓取舞台当前的截图,而在2.0中是可以直接生成png图片的

https://cdn.china-scratch.com/timg/190614/11050TR7-9.jpg

        并且在最初发布的Scratch3.0中造型和背景都无法直接通过右击菜单作为图片导出,只能导出.sprite3文件。目前最新版本的Scratch3.3.0已经具备导出图片功能了。

07

运算符右键菜单修改

        在Scratch2.0中,将算术运算符(+-*/)或比较运算符积木(<>+)拖拽到脚本区后,可以直接右键修改成其他同种运算符积木。

https://cdn.china-scratch.com/timg/190614/1105095250-10.jpg

算术运算符右键修改

https://cdn.china-scratch.com/timg/190614/1105091115-11.jpg

比较运算符右键修改

        对于Scratch比较熟练的朋友应该深有感受,在编写代码量比较大的项目时,涉及到很多运算符积木的使用时,往往不直接从积木区中拖拽新积木出来,而是直接在代码区复制一个之前用过的积木,再直接右键修改为所需的运算符积木即可,操作上比较便捷、流利。

        在Scratch3.0中这个功能被删除了,因此习惯右键修改的朋友势必会有些不习惯,重新去拖一个积木出来会有些舍近取远的感觉。

08

变量显示器滑杆模式的范围设置

    在Scratch2.0中,变量显示器在滑杆模式下可以通过右键选择设置滑杆最大值和最小值来控制变量调整的范围。

https://cdn.china-scratch.com/timg/190614/1105093053-12.jpg

scratch2.0的变量显示器滑杆模式的范围设置

在最初发布的Scratch3.0桌面版中,变量显示器滑杆模式无法设置范围。范围的设置是一个必要的功能,举个例子,制作一个花朵绘制的作品,可以通过滑杆来自由控制花瓣数量,花瓣数量一般个位数就够,但是默认的滑杆范围是1-100,这样就会在操作时,稍稍一拉动滑杆,变量数值就会变得非常大,使得整个作品的操作变得不可控。再举个例子,制作一个MIDI音乐作品,通过调整变量滑杆来控制演奏速度bpm,而常见的节奏稍快一些的曲目,bpm都在100以上,如果不提供滑杆范围设置的话,只能达到默认最高的100,那么bpm大于100的曲目都无法演奏了。所以说滑杆范围是一个必要的功能,没有这个功能,等于滑杆模式无法使用。

        所幸的是最新的3.3.0桌面版中,已经新增了滑杆范围设置的功能,界面也很舒服,给scratch team一个大大的赞https://res.wx.qq.com/mpres/htmledition/images/icon/common/emotion_panel/smiley/smiley_79.png

https://cdn.china-scratch.com/timg/190614/11050a1c-14.jpg

scratch3.0的变量显示器滑杆模式的范围设置

09

扩展模块

1)文字朗读模块,最初发布的版本中,在提供的二十多种语言中没有中文朗读模式(提供日语模式)。所幸最新的3.3.0增加了中文(普通话)朗读功能

https://cdn.china-scratch.com/timg/190614/1105091507-15.jpg

朗读模块的语言设置:中文(普通话)

2)视频侦测模块,个别项目出现以下问题:在桌面版Scratch3.0中无法正常运行,启动程序后,视频运动无法被侦测到,只有对角色进行拖拽后才能正常运行,同样的项目使用网页版可以正常运行。这个问题暂时没有证实,软件本身问题的可能性较大。另外偶有摄像头自动打开的情况发生。

10

列表

1)列表名修改后,舞台展示区中的列表名不同步(3.0最明显的BUG)。

https://cdn.china-scratch.com/timg/190614/1105093Y1-16.jpg

将列表“列表1”修改为“列表1修改后”

https://cdn.china-scratch.com/timg/190614/1105103205-17.jpg

列表名修改完毕

https://cdn.china-scratch.com/timg/190614/1105104O1-18.jpg

舞台展示区中的列表名没有更新

2)列表中所有有关项的下拉菜单全部被删除

在Scratch2.0中,可以通过下拉菜单访问列表的随机项、末尾项和全部项

https://cdn.china-scratch.com/timg/190614/1105102b1-19.jpghttps://cdn.china-scratch.com/timg/190614/110510J60-20.jpg

但是在Scratch3.0中,这些下拉菜单被全部删除了

https://cdn.china-scratch.com/timg/190614/1105103K6-21.jpghttps://cdn.china-scratch.com/timg/190614/11051014C-22.jpg

甚至删除积木还分化成两个,一个指定项,一个全部项。这在2.0中只需一个积木块就能实现这两种效果。这有悖于3.0“合并同类积木”的优化理念,是一种退步。

但是可以通过非常规手段使用2.0访问项的方法——直接输英文命令

https://cdn.china-scratch.com/timg/190614/11051153G-23.jpg

但是这些数字型参数框不支持输入字符串,只能粘贴进去,或者在输入法中将完整单词拼写完毕,然后直接敲入。


以上就是Scratch格物堂盘点的Scratch3.0“十宗罪”。不管怎么说,我们还是应该多一些耐心,多给Scratch团队一些时间,相信Scratch3.0将会越来越趋于完美。

———————————谢  谢  观  赏——————————


后记,小编朋友公司研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

感兴趣的朋友可以扫描二维码,关注一下,或微信搜索“大耳猴少儿编程”

https://www.china-scratch.com/Uploads/Editor/2018-04-22/5adca08bdc212.jpg