九宫格抽奖-Scratch模拟抽奖

九宫格抽奖-51scratch
九宫格抽奖-Scratch模拟抽奖
此内容为付费资源,请付费后查看
9.9
限时特惠
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

作品简介

今天要和大家分享的Scratch作品是《九宫格抽奖》,这是一款动画模拟作品,模拟日常生活中我们在电脑和手机上常见的九宫格抽奖功能。

点击绿旗,运行程序,在舞台上的九宫格中,中间的格子放置了开始抽奖按钮,周围的8格放着不同的奖品,其中一等奖和二等奖各1个,三等奖2个,谢谢参与奖4个。点击中间的开始抽奖按钮,表示光标的小方块开始从第一个格子按顺时针在8个奖品格子上循环切换,并且速度越来越慢,直到停下来,当光标停下来时,就会说出你中的奖项。

核心代码解读

Scratch九宫格抽奖的舞台背景和角色如图所示:

九宫格抽奖舞台背景和角色列表
九宫格抽奖舞台背景和角色列表

这里一共有5个角色,各角色的功能和效果简要说明如下:

  • 光标:这是一个白色方块,大小刚好和九宫格里的格子相当,它是半透明的,点击开始按钮后,就开始绕着九宫格不停的旋转,并且速度越来越慢,直到停下来;
  • 抽奖按钮:处于九宫格的正中间,点击开始抽奖则启动抽奖程序;
  • 标题:显示在九宫格上方的“幸运大抽奖”标题;
  • 奖品:九宫格周围的8个格子,也就是奖项设置,它们是一个整体,并不是独立的角色;
  • 背景板:在九宫格后面的红色背景。

在创作九宫格抽奖中,如何让光标白块沿着九宫格循环旋转,是实现本作品的重点,也是难点。接下来,就详细介绍其原理和实现方法。

大部分的初始想法是将光标放在第一格子上,然后右移两个格子,再下移两个格子,接着左移两个格子,最后上移两个格子,如此循环往复,看起来,确实是绕着九宫格转起来了,但问题时,光标不能随机停在不同的格子上呢,因此,这个思路是行不通的。

换个思路,去除中间的开始按钮,这里一共有8个格子,分别表示8个不同的位置,如何区分不同的位置呢,可以建立一个变量“位置”,用来表示光标所处的位置,同时也可以通过“位置”变量来确定所中的奖项,两个问题一并解决了,岂不妙哉。

从第一个格子开始,将对应的8个位置分别用数字1、2、3、4、5、6、7、8来表示,每移动一格,就将位置加1。如此一来,当位置为1和2时,光标右移,当位置为3和4时,光标下移,当位置为5和6时,光标左移,当位置为9和10时,光标上移。当旋转一圈后,位置又回到1了,次数的“位置”变量为9,一旦变量为9,可以将其设置为1,如此循环即可。为实现随机的抽奖效果,可以使用随机数来确定移动的次数,其代码如图所示:

光标旋转效果
光标旋转效果

当光标停下来的时候,就可以根据位置来确定所中的奖项了,代码如图所示:

根据位置确定中奖结果
根据位置确定中奖结果

作品效果

Scratch九宫格抽奖的作品完整效果如视频所示:

Scratch九宫格抽奖作品效果

关于Scratch抽奖效果,这里还有一个幸运大转盘作品,幸运大转盘-Scratch模拟抽奖

© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容