Day 19 ( 中级 ) 电风扇 ( 控制强度 )

电风扇 ( 控制强度 )

教学原文参考:电风扇 ( 控制强度 )

这篇文章会介绍,如何在 Scratch 3 里使用变数、广播讯息、重复、函式、绘制角色、旋转...等积木,实作一个可以调整强度的虚拟电风扇 ( 使用加减速的方式切换强度 )。

相关文章参考:变数广播讯息重复函式绘制角色旋转

角色设定

在角色编辑区,删除猫咪角色,使用「绘画」新增电风扇角色 ( 参考:造型与绘图 ),切换到「造型」页签,使用「圆形」工具,画出一个简单的电风扇,将电风扇对齐画布的中心

Scratch 3 教学 - 电风扇 ( 控制强度 )

继续使用使用「绘画」新增按钮角色,使用,切换到「造型」页签,使用「方形」和「文字」工具,画出一个方形的开关,上面写着文字「关」( 白底黑字 ),名称命名为 1,将按钮对齐画布中心

Scratch 3 教学 - 电风扇 ( 控制强度 )

复制开关的造型,将颜色改成红底白字,名称命名为 2,两个造型除了颜色不同,位置和大小完全相同。

Scratch 3 教学 - 电风扇 ( 控制强度 )

重复上述的步骤,继续建立「弱」、「中」、「强」三个角色。

Scratch 3 教学 - 电风扇 ( 控制强度 )

在舞台上,将角色排列如下图所示。

Scratch 3 教学 - 电风扇 ( 控制强度 )

积木程序原理 ( 按钮 )

点击「关」的按钮角色,设定相关动作:

  • 当绿旗被点击时,造型切换为 2 ( 红底 )。
  • 当角色被点击时,广播「关」的讯息,造型切换为 2 ( 红底 )。
  • 收到「弱」、「中」、「强」的讯息时,造型切换为 1 ( 白底 )。

Scratch 3 教学 - 电风扇 ( 控制强度 )

重复同样的步骤,编辑「弱」、「中」、「强」的按钮角色动作。

Scratch 3 教学 - 电风扇 ( 控制强度 )

积木程序原理 ( 电扇 )

点击「电扇」角色,设定点击绿旗的动作:

  • 新增「速度」变数,将速度变数设定为 0。
  • 广播「关」讯息。
  • 使用重复无限次积木,按照速度变数的数值,进行右转的动作

Scratch 3 教学 - 电风扇 ( 控制强度 )

放入收到广播讯息「关」、「弱」、「中」、「强」的积木,执行对应的动作:

  • 当收到讯息「关」:使用重复积木,不断将速度减少 1,直到速度为 0。
  • 当收到讯息「弱」:速度设定为 15。
  • 当收到讯息「中」:速度设定为 30。
  • 当收到讯息「强」:速度设定为 45。

Scratch 3 教学 - 电风扇 ( 控制强度 )

完成後,点击绿旗,就可以用滑鼠点击按钮,切换电风扇强度,看到基本的效果。

Scratch 3 教学 - 电风扇 ( 控制强度 )

积木程序原理 ( 加减速调整 )

虽然已经可以切换电扇的强弱,但在切换强度的过程中,因为是直接将速度变成某个数值,所以并没有「加减速」的感觉,导致看起来有点不顺畅,为了修正这个问题,必须修改刚刚做好的程序。

从左侧积木清单,新增 run 和 stop 两个变数,并在点击绿旗时,设定变数 run 为 0 ( 表示尚未开始 )。

  • 变数 run:判断该状态 ( 某个强度 ) 是否开始。
  • 变数 stop:判断该状态 ( 某个强度 ) 是否停止。

Scratch 3 教学 - 电风扇 ( 控制强度 )

新增一个名为「加速度」的函式,加入一个「a」参数。

Scratch 3 教学 - 电风扇 ( 控制强度 )

编辑加速度函式:

  • 设定变数 run 为 1,表示该状态开始。
  • 使用重复积木,重复直到「速度等於 a」或「stop 等於 1」为止 ( 速度抵达指定速度或被强制停止 )
  • 每次重复时,判断如果速度大於指定速度 a,就将速度减少。
  • 如果速度小於指定速度 a,就增加速度
  • 重复结束後,将 run 设定为 0,表示状态已经完成 ( 速度抵达指定速度或被强制停止 )。

Scratch 3 教学 - 电风扇 ( 控制强度 )

新增一个名为「切换」的函式,加入一个「强度」参数。

Scratch 3 教学 - 电风扇 ( 控制强度 )

编辑强度函式:

  • 将变数 stop 设为 1 ( 切换强度时,搭配加速度函式,强制停止目前状态 )。
  • 等待直到 run 为 0,表示可以开始进行下一个状态。
  • 设定 stop 为 0,表示可以继续开始。
  • 执行加速度函式,将「强度」参数提供给加速度函式

Scratch 3 教学 - 电风扇 ( 控制强度 )

两个函式都完成後,修改收到讯息的动作,改成执行「切换」函式,并给予对应的强度数值。

Scratch 3 教学 - 电风扇 ( 控制强度 )

完成效果

完成後,将「速度」变数显示在舞台上,点击绿旗,用滑鼠切换电风扇强度,就会看见速度的变化,风扇也会以加速减速的方式切换强度。

Scratch 3 教学 - 电风扇 ( 控制强度 )

范例解答

范例解答:电风扇 ( 控制强度 )

延伸练习

如果已经熟悉了电风扇 ( 控制强度 )的原理,还可以尝试更多好玩的作法:

  • 加入音效 ( 大小声 ),让风扇转动更逼真。( 解答 )

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  Day 5:浅谈警报 (alert) 的设计

>>:  005-元件名称_2

Day 23:Ansible 的基本介绍

昨天差不多讲完这几天的目标了,今天就来简单介绍 Ansible 这套自动化工具吧。顺便帮我争取一点写...

Day-12 认识Excel枢纽分析表

今日练习档 ԅ( ¯་། ¯ԅ) 你是不是听到枢纽分析表就会腿软!你是不是听到枢纽分析表就想放弃!今...

SQL Server 如何判断 PLE (页面的预期寿命) - 心得分享

DBABootcamp 你是不是听过 PLE (Page Life Expectancy, 页面的预...

Android学习笔记16

因为如果把dialog写在viewmodel里面,之後在自动化测试的时候可能会出问题,所以在mvvm...

Day5 宣告元件 - Functional Component

React的核心就是将UI拆成不同的程序码,以元件的方式独立,让元件可以在主程序中重复利用。 而要使...