Scratch蓝桥等考十七级之一:有参数和无参数自定义模块的定义方法与作用——代码复用

  上一课的“显示图表按钮”的代码如下:从上面的代码中可以看到,当接收到“显示图表按钮”消息和当背景换成“Blue Sky 2”都执行同样的代码——使鼠标在按钮之上时显示按钮功能。能否简化只写一次这些代码呢?  有!就是定义模块。首先介绍无入口参数的自定义模块。新建无入口参数的模块

 

使用自定义模块

 

使用自定义模块改造后代码

  下面是插入、修改、删除和取值四个按钮的代码:。从上面的代码可以看出,这几个按钮的功能都需要询问输入下标,能否自定义一个模块,实现询问输入下标的功能呢?
  可以,不过需要输入“插入”、“修改”、“删除”和“取值”四个字符串,这样模块才能正常显示询问输入下标的目的。

新建有入口参数的模块

  其它三个模块可以复制定义代码完成自定义模块的定义。使用有入口参数的自定义模块后,插入、修改、删除和取值四个按钮的代码:

 

  可见,自定义模块与局部变量一样都是角色私有的,只能在角色内使用,其它模块或背景不可以使用;背景的自定义模块也只能是背景使用。  自定义模块解决了代码复用问题,角色内复用代码
  练习:查找和判断按钮代码都需要输入成绩,与上面相似,用有入口参数的函数改造它们。