Scratch官方工具因已知的原因停止访问更新,而国内兼容工具也逐步增多,在众多同类型工具中,结合平时的使用需求,常用工具决定选定Labplus进行案例实现。既然是替代,一方面关心它的兼容适配,不用额外增加学习适应成本,毕竟Scratch官方工具使用习惯了,一方面也需要了解Labplus 3与Scratch 3的差异与进步。
·字体不再模糊字号显示正常·
上图为Scratch 3官方工具界面,在字体显示适配上模糊不清,网上也提供一些偏门的方式调节字号大小,比如修改系统字体大小,但必然影响系统其他的正常显示,官方版本之前迭代多次,该问题一直不曾解决,持续使用伤眼。
下图为Labplus 3工具界面,字体保持不变的情况下,字号调整合适,显示清晰,眼睛不适感消失。
·可直接拖放作品源文件打开·
Scratch 3打开作品源文件,使用发现需要至少3步:
点击“文件”菜单,再点“从电脑中上传”,最后逐一查找到作品源文件所在位置。一是查找不方便,二是加载耗时缓慢。碰到部分源文件过大加载不了,整个工具界面就卡在“新建作品”的蓝屏中。
而Labplus 3中,可将任意已打开的目录中的源文件直接拖放打开,在临时查看大量源文件时非常有用!
·造型中心点支持放大和缩小·
Scratch 3相比Scratch 2在造型中心点的处理上不直观不方便,中心点太小,定位处理不便,造型放大缩小时,中心点固定不变。
在Labplus中,将中心点调整为支持放大缩小,方便查看准确的中心十字轴点。细节虽小,实际使用时好用方便。
·新增当……某个事件发生时·
事件模块中增加脚本:当……发生时。
Labplus 3实现了全局性的【当……发生时】事件,比如:侦测到【碰到鼠标指针?】、【运行某段代码】的时候,以往类似情况可能需要用到循环或者新建广播等,现在有了【当...发生时】事件,可以更简洁的实现:
这个事件脚本在具体案例实现上确实好用,省去很多不必要的局部代码,不再需要循环全局监听,让小朋友精力集中在实现内容上,让内容创作与思维培养占据首要位置。
·新增数值与字符串显式转换·
运算模块中增加【数值…】和【字符串…】这两个脚本。初看可能觉得用处不大,但从编程学习路径(Scratch -> Python -> C -> C++)上来看,这就是数据类型的启蒙开端!
对于小朋友们来说,可以这么理解:
生活中的各种人事物都可以视作字符串,当这些人事物进行运算时,我们是计算人事物对应的数值,而不是把人事物生硬叠加合并。
再比如:手机号11位数字组合使用时,大家是当作字符串来使用,不会有人报 1百亿多少多少这样的号码,当11位数字进行运算时,得让电脑明白这次要当作数值来用,显式的转换过程更能让孩子加深理解。
在Python等编程语言中给变量赋值时:
变量=
变量=0
变量=’0’
变量=”0”
Scratch中
这样写,在字符串使用和运算时没什么问题,但在后续过渡到Python或其他编程语言时会存在问题,未赋值异常。
会将任意字符转换为标准的数值形式,在进行数值运算时确保正常;
会将任意字符,比如空字符串或数字,转换为带引号的文本形式。引号分为单引号和双引号。单引号与双引号在使用时不使用转义符,常用来作互补处理,如’我在”柚子积木”里看到’ 或 “我在’柚子积木’里看到”。
在Labplus的扩展模块中,当连接外部硬件,运行没有显式转换数字与空字符串的代码至掌控板上时会出现异常,导致程序出错。这两个显式转换脚本就可以确保变量值正常。
·新增范围映射值和数值限制·
范围映射值举例使用:映射 角色X坐标 从[ -240,240 ] 到 [-60,60]。
这时的值范围区域就是一个正三角形:A点在[-60,60]的区域,B点->C点组成[-240,240]的区域,角色X坐标的值就在这个三角形的范围中,由底部正中间位置到顶部的直线上取值。
比如 角色X坐标值在[-240,240]时是100,则在[-60,60]时是25。即
映射起点值 = 映射起点距离(240到-240)480
映射终点值 =