连连看
延续“连连看 ( 产生器 )”的范例,这篇文章会介绍,如何在 Scratch 里使用变数、清单、画笔、重复、侦测鼠标按下、侦测碰到...等积木,实作一个连连看的小游戏。
角色设定
在角色编辑区,删除猫咪角色,使用绘画,绘制“黑点”和“红点”两个新的角色 ( 参考:造型与绘图 )。
接着加入“铅笔”角色,尺寸设定为 60 ( 参考:Scratch 角色设定 )。
点选铅笔角色,切换到“造型”页签,将铅笔的笔尖,对齐造型的中心点。
完成后,三个角色在舞台上的尺存如下图所示。
积木程序原理 ( 铅笔 )
点击“铅笔”角色,设计“铅笔画图”的程序:
- 放入点击绿旗积木。
- 点击绿旗时,清除舞台笔迹、设定画笔颜色和宽度。
- 停笔 ( 避免出现额外的线条 )。
- 使用重复无限次积木。
- *每次重复,将铅笔定位到鼠标座标 ( 跟随鼠标移动 )*。
- 每次重复,判断如果按下鼠标,就下笔画画,放开鼠标,就停笔。
完成后,切换到“专案页面”,点击绿旗,就能够用铅笔在舞台上画画。
积木程序原理 ( 黑点 )
点击“黑点”角色,新增变数“a”和“x”和 “y”两个清单,将清单勾选显示在舞台上。
用鼠标在舞台的空白清单上按右键,点选“导入”,选择用“连连看产生器”产生的 x 和 y 座标清单。
接着将取消勾选显示清单 ( 隐藏清单 ),编辑“根据清单产生黑点”的程序:
- 放入点击绿旗积木。
- 设定变数 a 为 0,目的在于透过 a 取出清单的项目。
- 设定图像效果幻影为 100,隐藏本尊 ( 完全透明 )。
- 使用重复次数积木,重复“清单长度”的次数。
- 每次重复,将 a 增加 1。
- 每次重复,将本尊定位到对应清单的座标。
- 产生分身。
为什么要设定图像效果“幻影”?因为待会要判断黑点是否碰到红点,如果使用“隐藏”,则角色本体会从舞台隐藏,将永远不会碰到红点,所以使用“幻影”。
完成后,点击绿旗,舞台上就会出现连连看的黑点。
产生黑点后,在程序下方放入重复无限次积木,加入黑点本尊碰到红点的程序:
- 每次重复,让黑点本尊定位到鼠标座标 ( 跟随鼠标移动 )。
- 每次重复,判断如果鼠标按下时,刚好碰到红点,就发送 next 消息。
红点角色负责提示“下一个要连的点”,当碰到红点时,发送 next 消息让红点出现在下一个位置。
为什么不用铅笔角色呢。因为铅笔角色的“笔身太长”,会发生预期外的碰触事件。
积木程序原理 ( 红点 )
点击“红点”角色,新增一个变数 b。
编辑点击绿旗时的程序:
- 将图层移到最上层,避免被黑点遮住。
- 显示红点角色 ( 因为结束后会隐藏 )。
- 设定变数 b 为 1,表示第一个点。
- 说出 b,显示目前在地几个点。
- 将红点定位到第一个点的座标。
最后编辑收到 next 信号的程序:
- 收到 next 信号后,将 b 增加 1,表示前往下一个点。
- 判断如果 b 还没等于清单的长度,就说出 b,并将红点位置移动到下一个座标。
- 如果 b 已经等于清单长度,就隐藏红点。
完成后,前往“专案页面”,点击绿旗,就可以开始进行连连看的游戏。
范例解答
范例解答:连连看
延伸教学
如果已经熟悉了连连看的原理,还可以尝试更多好玩的作法:
微信扫码关注
抖音扫码关注