一个热爱网络的小学教师

在Scratch里制作数字键盘的两种方法

我们使用Scratch的时候,如果需要用户输入字符,会发现只有一个“询问”积木可以使用。这个积木输入框的位置是固定的,而且只能显示一个,如果有多个询问,就只能一个一个回答。如果多次调用某个询问,还会出现询问“积压”问题,就是如果前一次询问还没有回答,后一次询问就显示了,那么必须先回答前面的询问,然后才能回答后面的,会给使用者造成混乱。

某次我用Scratch制作一个作品,需要用户输入数字,希望能在屏幕上显示一个数字键盘供用户使用,但可惜原生Scratch是没有这个功能的,经过一番思考和测试,最终采用两种方式实现了这个功能:一是“角色法”,二是“热区”法。

1.角色法

所谓角色法,就是将每个按键都做成一个角色,然后分别编写代码,当这个角色被点击,就执行相应的代码。这种方法应该是最容易想到的解决方案了,思路简洁,代码的编写也不复杂,最终的效果也很好。但是由于每个按键都是一个角色,所以最终的成品就显得很复杂,调试的时候要一个角色一个角色去修改,相当麻烦。而且由于一个数字键盘包含了0-9、清除、确定至少12个角色,希望显示整个键盘的时候会遇到图层顺序的难题,因为Scratch没有图层管理,所以整个过程要相当细心地进行调整,这个过程是很麻烦的。

2.热区法

所谓热区法,我这里借用了网页设计中的HTML热区概念,就是事先画好整个键盘,然后在舞台上划定数个矩形区域,每个区域对应一个按键,当点下鼠标后判断是否在这个区域内,如为真,则执行相应的代码。这种方法只需要一个角色即可做出键盘,大大减少了程序的复杂程度。但也有一个致命的缺点,那就是热区不能重叠,同一个区域只能有一个热区,也就是说键盘显示之后,键盘下方不能有任何其他热区,否则就会产生冲突,所以在制作程序的时候需要小心规避。

两种方法都可以在Scratch制作一个数字键盘,这里我就不再详细解释了,直接放上源码供大家参考:https://wwzk.lanzouo.com/b028kniq8h密码:h2qd

如有其他问题或建议,欢迎留言讨论。

赞(4) 打赏
转载请标明出处:高海鹏老师的博客 » 在Scratch里制作数字键盘的两种方法
分享到: 更多 (0)

留言 1

Protected by WP Anti Spam
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    感谢你的分享,为大家提供了思路,我要是做这个,会用角色法,造一个角色,12个造型,造型名称对应0-9、C、ok,然后定点克隆为12个按键,点击变色用颜色特效,Scratch有图层管理,在外观中。

    shgedu6个月前 (11-29)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏