第20课 画图板

本章我们实现的功能是一个画图板,移动鼠标时就会有一根铅笔跟着鼠标指针移动;按住鼠标左键时,在铅笔移动的路径上就会留下相应的痕迹;在整个画图板的旁边还有一个选择块,我们可以选择红、绿、蓝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所示。当程序运行时,单击清除按钮,整个屏幕就被清空了。