连连看 ( 产生器 )
这篇文章会介绍,如何在 Scratch 里使用变数、清单、画笔、重复、侦测鼠标按下、侦测碰到...等积木,实作一个连连看产生器,产生的连连看可以应用在另外的“连连看”范例当中。
角色设定
在角色编辑区,删除猫咪角色,使用绘画,绘制“点”和“画笔”两个新的角色,“点”角色是一个小黑圆点,“画笔”角色是一个空白的角色 ( 参考:造型与绘图 )。
接着加入“清除按钮”( 打叉 ) 和“预览按钮”( 打勾 ) 两个角色 ( 参考:Scratch 角色设定 )。
将“清除按钮”和“预览按钮”,放置于舞台的右下角,“点”则随意摆放在舞台上即可。
积木程序原理 ( 清除、预览 )
点击“清除按钮”角色 ( 打叉图案 ),当点击清除按钮时,发送“清除”的消息。
点击“预览按钮”角色 ( 打勾图案 ),当点击预览按钮时,发送“预览”的消息。
积木程序原理 ( 点 )
点击“点”角色,新增变数“clear”和“x”和 “y”两个清单。
设计点击绿旗的程序:
- 使用“重复无限次”积木。
- 每次重复时,将“点”角色定位到鼠标的位置 ( 跟随鼠标移动 )。
- 每次重复时,判断鼠标是否按下,如果按下鼠标,建立分身。
完成后,在舞台上点击鼠标,就会出现一个个的黑点分身。
接着加入一些逻辑判断,避免鼠标按下时“重复建立分身”,也避免点击“清除按钮”和“预览按钮”时建立分身:
- 判断如果“碰到预览按钮不成立”且“碰到清除按钮不成立”( 黑点不在预览按钮和清除按钮上方 )。
- 等待“鼠标键按下不成立”( 鼠标放开 ) 之后,建立自己的分身。
完成后,当鼠标碰到预览或清除按钮时,就无法建立黑点分身。
加入扩充功能的“画笔”,修改点击绿旗程序,在点击绿旗时,先将画面的笔画清空、清单内容清空、变数 clear 归零,并设定图像效果“幻影”( 透明度 ) 为 100 ( 完全透明 )。
为什么要设定图像效果“幻影”?因为程序会判断是否碰到预览或清除按钮,如果使用“隐藏”,则角色本体会从舞台隐藏,将永远不会碰到预览或清除按钮,所以使用“幻影”。
编辑“当分身产生”的程序:
- 设定图像效果幻影为 0 ( 完全不透明 ),显示分身。
- 将变数 clear 增加 1,表示画面上有分身。
- 将分身的 x 和 y 座标分别记录到 x 和 y 清单里。
- 等待直到 clear 变数等于 0,表示按下了清除按钮。
- 删除分身。
最后加入收到“清除”消息时的动作,将画面的笔画清空、清单内容清空、变数 clear 归零。
完成后,点击绿旗,就可以在舞台上点出黑点,点击清除按钮就可以清空画面。
积木程序原理 ( 画笔 )
点击“画笔”角色,新增一个变数 n,作为清单的处理使用。
编辑点击预览时,画线连连看的程序:
- 当收到“预览消息”。
- 将画笔定位到第一个点的座标 ( x 和 y 清单的第一个项目 )。
- 清空笔迹、将笔迹宽度设定为 5,下笔画画。
- 设定变数 n 为 1,表示从第一个点开始画。
- 使用重复积木,重复清单的长度。
- 每次重复依序让画笔滑动 0.01 秒到对应的座标。
- 每次重复将 n 增加 1。
- 重复结束后,将画笔滑动回第一个点的座标。
- 停笔。
完成后,点击绿旗,就可以在舞台上点出连连看的黑点,点击预览按钮后就可以预览。
导出清单项目,作为之后连连看使用
前往左侧清单的“清单”,将 x 和 y 清单“勾选显示”,x 和 y 清单就会出现在舞台上。
用鼠标在清单上方“按右键”,点击“导出”,就能将清单项目导出成 txt 或 csv,作为其他连连看范例使用。
注意,这个功能只有在“编辑页面”才能使用。
范例解答
范例解答:连连看 ( 产生器 )
延伸教学
如果已经熟悉了连连看 ( 产生器 )的原理,还继续阅读“连连看”范例教学:连连看
微信扫码关注
抖音扫码关注