友情提示:视频教程观看时请手动设置清晰度。
第八讲 会画画的笔
本讲主要介绍画笔指令集,并通过画笔指令集实现两个会画画的笔的小程序,请看视频演示。
程序1
程序2
一、画笔指令集
在指令区,脚本标签下,选择画笔标签,可以看到Scratch的画笔指令集。
1、图章指令
图章指令可以在舞台上用当前角色的造型盖章。
选中小猫角色,将图章指令拖到脚本区后双击,这个时候在舞台上会留下一个小猫造型的图案。拖动小猫到其他位置,会发现原来的位置留下一个小猫图案且这个图案是无法移动的。
2、清空指令
清空指令用来清空舞台上所有用画笔指令绘制的图案。
试着组合运行下面这段程序,可以观察清空与图章指令的效果。
3、落笔、抬笔指令
可以将角色作为画笔来画线,当执行“落笔”指令后角色可以画线,执行“抬笔”指令后,角色停止画线。
尝试运行下面这段代码,查看运行效果。
4、画笔色彩控制指令
这组代码的第一条指令点击最后面的颜色方框,可以提取屏幕中出现的任何颜色作为画笔的当前颜色。
第二、三条指令用数字控制当前画笔颜色,颜色数值在0-200的色环中循环选取,其中0代表红色。可以通过下面这段代码查看颜色设定的效果。
第四、五条指令设置颜色的色度,默认情况下是50,取值范围为0-100。越接近0颜色越深贴近黑色,越接近100颜色越浅接近白色。
5、画笔粗细控制指令
这两条指令用于控制当前画笔的粗细程度,数字越大画笔越粗。
二、画线程序
1、新建一个程序,右键单击小猫角色选择删除。
2、导入一个新的画笔角色
从角色库中新建角色,在物品中找到pencil角色
3、重新定位造型中心
选择造型标签
点击右上角的设置造型中心。
这个时候造型区的铅笔图案中会出现十字交叉的黑线,用鼠标点击铅笔笔尖位置,可以将铅笔造型的中心设置在笔尖。
这样做的目的是在使用画笔指令时,让效果看上去像是从笔尖处画出来的,还记得用小猫做画笔时,画线是从小猫的肚子上画出来的吗?那是因为在小猫角色中,造型中心在小猫的肚子上。
5、重新命名画笔角色
点击画笔角色左上角的“i”按钮,打开“角色”信息面板
在角色信息面板的名字框中,将画笔角色命名为“我的画笔”。(对角色命名可以在用多个角色进行复杂编程时,让自己清楚的知道每个角色到底是什么)
点击左上角的蓝色按钮可以回到角色列表面板。
4、编写脚本
在脚本区编写如下指令集。点击绿色小旗运行查看。其中设定颜色时可以提取屏幕中的任何颜色,在我的程序中提取的是指令标签上的绿色。
这段程序在点击开始小旗时,首先清空舞台中的图案,将画笔设定为绿色,粗细设定为2,然后将画笔的初始位置移动到舞台的中心。
落笔表示开始画线,控制角色顺序移动到5个位置,抬笔表示画线结束。
三、自由画笔程序
下面我们要实现一个更加自由的画笔,当点击小旗开始时,清空舞台,设置画笔为绿色,粗细为2。
设置画笔跟随鼠标指针移动
当按下鼠标键移动鼠标时,可以自由画线,不按鼠标键时不画线。
1、同上一个程序的操作,新建程序,删除小猫角色,导入画笔角色,并设置画笔的中心点在笔尖处。
2、初始化画笔并设置画笔跟随的指令如下
3、侦测鼠标键是否按下,如果按下则“落笔”,否则“抬笔”,实现用鼠标画图的功能。
“下移鼠标?”指令在“侦测”指令集中,这里存在翻译错误,如果调整系统语言到英语可以看到这条指令的名字叫做“mouse down?”表示鼠标是否按下。这里只要记住这个指令的意思就好了。
嵌套中的“如果……那么……否则……”指令,表示如果后面的条件正确(这里是监测到鼠标键按下),运行“那么……”后面的指令,如果条件不正确,运行“否则”后面的指令。这是一种设置条件的指令,后面还会继续学习,这里先简单体会一下。
另外思考为什么在开始后,需要首先等待0.5秒?大家可以先不添加等待指令,看看运行效果。
解释:添加等待指令,是因为在点击小旗运行程序时,本身就需要按下鼠标键,所以程序在一开始就监测到鼠标键是按下的状态,程序立即就会开始画线,屏幕右上方会出现因为按了开始而画出的一小段线。我们选择让程序等待一下再开始捕捉是否按下鼠标的信号,就是为了避免这个问题。
通过这个小问题,大家可以看到编程中经常遇到与我们设想不一样的意外情况出现,这往往是因为我们在编程时逻辑的不严谨造成的。发现并修改这些小问题,是编程中必不可少的一部分,通过这个过程,也可以让大家的思维逻辑更加严密。
来源:微信公号“一人耕者”