摇骰子 ( 1~3 个 )
在“摇骰子”的文章中已经可以操作单一个骰子,这篇教学会运用 Scratch 做出多个骰子的实例,并让用户自己选择 1~3 颗骰子,最后在画面中显示骰子的总点数。
绘制角色
使用“绘画”方式新增一个名为“dice”的骰子角色,运用向量绘图工具绘制六个造型,分别是骰子 1~6 点六个面的正方形,正方形的中心点对齐画布中心点,六个面的造型名称分别设定为“1~6”。
小技巧:先画“一点”的造型,再使用复制造型后修改点数,就能让每个造型都固定位置和大小。
使用“绘画”方式新增一个名为“btn”的按钮角色,负责让用户切换 1~3 个骰子,运用向量绘图工具绘制三个圆形按钮,上面分别写上 1~3,正方形的中心点对齐画布中心点。
使用“绘画”方式新增一个名为“btn_start”的按钮角色,负责让用户点击之后会开始摇骰子,运用向量绘图工具绘制一个长方形,上面放入文字“摇骰子”,中心点对齐画布中心点。
使用“绘画”方式新增一个名为“result”的文字角色,负责显示最后骰子的总点数,运用向量绘图工具新增 19 个造型,分别是“点数:1”一直到“点数:18”,最后一个造型是“点数:---”,造型名称使用“1~18”,最后一个造型名称设定为“0”。
小技巧:因为文字默认都是“置中对齐”,为了方便“靠左对齐”,可以将“位置:”和“数字”拆成两个文字对象,如此一来会比较容易调整位置。
积木程序原理 ( btn_start 按钮 )
点击“btn_start”角色,设定点击绿旗时,定位并发送 run 广播信号,表示开始骰子骰子。
积木程序原理 ( btn 按钮 )
点击“btn”角色,设定点击绿旗时,位置固定在舞台左上方,并设定造型为 1、亮度 70。
新增一个名为“产生选择按钮”的函数,勾选“执行完毕再更新画面”,这个步骤可以快速执行内容的积木。
使用“隐藏本尊”搭配“建立分身”的方式,透过切换造型的方法,依序往右建立三个分别是 1、2、3 的分身按钮。
从左侧积木选单里,建立 btn 和 btn_local 两个变数。
注意!由于 btn_local 需使用“区域变数”,所以要勾选“仅适用当前角色”( 参考“全域变数、区域变数” )。
运用区域变数 btn_local 搭配分身,就能让不同的分身的 btn_local 具有不同数值 ( 参考“控制指定分身” ),接着就能根据数字,要求 btn_local 为 1 的分身恢复正常亮度,执行后,舞台中的按钮就只有第一颗会恢复成原本的亮度。
使用“重复无限次”搭配“逻辑判断”,制作点击分身的程序,当分身被点击时,将 btn 的数值更换为分身区域变数的 btn_local 数值,同时发送 click 广播消息以及分身的名称 ( 1~3 ),表示现在画面上要出现几个骰子。
接着设定收到 click 广播消息时 ( 每个分身都会收到 ),让分身判断自己的 btn_local 变数是否等于 btn 变数数值,如果相等 ( 表示点击 ),就恢复正常亮度,如果不相等 ( 表示没有点击 ),就提高亮度。
执行后,点击不同的按钮,该按钮就会呈现不同的颜色。
积木程序原理 ( dice 骰子 )
点击“dice”角色,设定点击绿旗时,位置固定在舞台中心,接着隐藏本尊 ( 待会会用分身呈现 ),将造型设定为 1,并发送 1 的广播消息,表示舞台上现在只有一颗骰子,新增 num 变数默认为 1,表示现在画面上是 1 点 ( 注意,这边两个 1 是不同的意义,广播消息表示有几个骰子,num 是指现在点数几点 )。
设定收到广播消息 1 时,设定 x 座标并产身份身,收到广播消息 2 时,设定两个座标并产生两个分身,收到广播消息 3 时,设定三个座标并产生三个分身,收到广播消息 click 时,表示要更换画面中骰子数量,只要删除分身就能清空 ( 在另外一个按钮,会等待 click 完成后再发送 1、2、3 的广播消息 )。
设定收到广播消息 run 时开始骰骰子,正在骰的时候设定 num 点数为 0,并寻找一个适合骰子的音效播放。接着设定产生分身时显示分身,使用重复无限次积木搭配等待,当 num 为 0 时更换 10 次随机造型,接着将 num 增加最后一个造型的点数,完成后发送 result 广播消息。
完成后点击切换骰子数量按钮,骰子数量就会跟着改变。
积木程序原理 ( result 结果显示 )
点击“result”角色,设定点击绿旗时,造型换成 1 点,接着按照下图,设定收到不同的广播消息时,更换成对应的点数造型。
完成结果
全部完成后,点击绿旗,就可以开始进行骰骰子的游戏,并可以切换 1~3 颗骰子。
延伸练习
如果已经熟悉了摇骰子的原理,还可以尝试更多好玩的作法:
- 使用“文子转语音”的功能,念出目前的点数。
- 让骰子随机的速度从快到慢。
- 让三个骰子停止的时间不相同。
微信扫码关注
抖音扫码关注