卡牌抽签 ( 20 中 1 )
这篇教学会利用 Scratch 的“区域变数”和“全域变数”概念,制作可以从 20 卡牌里进行抽签,抽出中奖卡牌的抽签小游戏。
绘制角色造型
使用“绘画”工具建立角色“card”,角色有三个造型,分别是卡牌封面“cover”、没中奖“no”和中奖“yes”,尺寸设定为 60x60,并对齐画布中心点。
积木程序原理
点击 card 角色,设定点击绿旗时定位到舞台左上角,造型设定为 cover,新增一个变数 ok 作为抽中的号码,号码设定为 1~20 的随机整数。
从左侧积木清单里,新增函数“建立分身”,勾选“执行完毕再更新画面”。
函数的内容先隐藏本尊,接着使用重复四次积木,每次重复时除了往下移动,会再重复五次往右移动,如此一来就能产生 5x4 共 20 个分身,分身产生后显示分身。
新增“适用所有角色”的“全域”变数 num,,新增“仅适用当前角色”的“区域”变数 num_local。
在“建立分身”函数里,设定 num 为 0,接着设定每次产生分身时将 num 增加 1,并把 num_local 数值设为当前 num 的值,由于每个分身里的区域变数 num_local 不会互相影响,这个做法就能透过区域变数 num_local 知道每个分身的号码。
设定点击角色后,判断 num_local 数值是否等于 ok 的数值,如果相等,就将这张卡牌改成中奖的造型,如果不相等,将卡牌改成没中奖的造型,并删除分身。
完成效果
所有角色的程序都完成后,点击绿旗,舞台上会出现 20 张卡牌,点击卡牌就可以开始抽签。
范例解答
范例解答:卡牌抽签 ( 20 中 1 )
微信扫码关注
抖音扫码关注