本章我们实现的功能是一个画图板,移动鼠标时就会有一根铅笔跟着鼠标指针移动;按住鼠标左键时,在铅笔移动的路径上就会留下相应的痕迹;在整个画图板的旁边还有一个选择块,我们可以选择红、绿、蓝3种颜色;另外还有一个“清除”按钮,按下这个按钮,整个画图板就会被全部清空。


我们还是先从角色入手,在角色库中选择一个铅笔角色“Pencil”,铅笔要跟着鼠标指针移动,所以程序方面要让铅笔角色一直移到鼠标指针的位置,如图20-1所示。


图20-1 铅笔角色跟随鼠标指针移动的程序


点击 运行一下程序,此时铅笔就会一直跟着鼠标指针移动,不过大家可能会发现,此时鼠标指针的位置是在铅笔中间,而我们希望鼠标指针的位置在笔尖,所以在“造型”选项卡中要调整一下角色造型的中心点位置,如图20-2所示。将笔尖放在十字的中心上,此时再运行程序,鼠标指针的位置就在笔尖了。接着我们要让鼠标左键被按住时能够在铅笔运动的轨迹上留下痕迹,这要用到画笔中的“落笔”和“抬笔”指令模块了。按下鼠标左键时落笔,否则抬笔。


图20-2 调整铅笔角色中心点位置

完成后程序如图20-3所示。



图20-3 添加“落笔”和“抬笔”指令模块

单击“全屏模式”测试一下画笔功能,当我们按住鼠标左键移动时,就能在舞台区用铅笔画出线条了,如图20-4所示。


图20-4 程序运行效果


现在我写了一个“Scratch”的字样,不过只能一直在舞台区上画,如果画错也没办法调整,这就需要我们添加一个清除按钮。选择一个按钮角色“Button2”,在角色上写上“clear”字样,如图20-5所示。


图20-5 添加清除按钮

清除按钮角色的程序用到了“事件”分类中的“当角色被点击”指令模块,紧接着的操作是“画笔”分类中的“全部擦除”指令模块,程序如图20-6所示。当程序运行时,单击清除按钮,整个屏幕就被清空了。


图20-6 清除按钮角色的程序
接着我们来调整画笔的颜色,添加一个按钮角色“Button3”,调整其颜色为红色,如图20-7所示。


图20-7 添加红色按钮


将按钮摆放在合适的位置,添加程序。这里要注意,每个角色都有一个画笔的属性,我们在角色内改变画笔的属性只是改变这个角色的画笔状态,比如红色按钮的程序中,我们直接修改画笔的颜色,实际上改变的是红色按钮的画笔的颜色,然后在落笔时我们使用的是铅笔角色的画笔的颜色。所以红色按钮角色的程序中,当红色按钮被单击时要广播一个消息,消息的内容是“red”,程序如图20-8所示。


图20-8 红色按钮角色的程序

对应地,在铅笔角色的程序中,接收到消息“red”之后将画笔的颜色设为红色,如图20-9所示。


图20-9 铅笔角角色接收到消息“red”后改变画笔颜色的程序

按照相同的方式,我们再添加绿色按钮、蓝色按钮和黑色按钮,将所有按钮的大小修改为40,完成后效果如图20-10所示。我们用这几种颜色画了一副超级简单的画。当我们画太阳时,可能会想到Scratch中的画笔粗细是不是也可以调整。我们打开“画笔”分类,能看到其中有一个“将笔的粗细设为1”指令模块,这个应该能够用得上。为了在屏幕上直观看到画笔的粗细,我们创建一个变量“size”。


图20-10 添加更多的颜色按钮

在程序中通过键盘“↑”键和“↓”键调整画笔的粗细。整个画图板项目完成后,铅笔角色的程序如图20-11所示。


图20-11 铅笔角色的最终程序



本节知识点:

1. 学会广播的应用:设置画笔颜色。

2. 学会变量的应用:修改画笔粗细。


扩展练习:

1. 加入橡皮擦功能。

2. 加入画线段、矩形、圆形功能。



点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部