
上QQ阅读APP看书,第一时间看更新
二、编写程序
(一)编程思路
要用按钮控制LED灯,其实是很简单的,示例程序如图4-2所示。
如果想改变LED灯显示的颜色,可以单击按钮,会弹出设置菜单,如图4-3所示,通过颜色、饱和度、亮度3个属性设定需要显示的颜色。此外,还可以通过下方的拾色器
到舞台背景上“拾取”想要的颜色。

图4-2 示例程序(一)

图4-3 设定LED灯的颜色
那么,怎样才能实现按下按钮后让灯熄灭呢?也许你会想到如图4-4所示的程序。
上传到光环板,观察效果。
为什么会产生这样的结果?因为程序中连续使用了两次积木,而积木下面的程序又是相互矛盾的,所以会产生异常的结果。如果把两个程序交换位置,又会出现不一样的结果。但是,那都不是我们需要的结果。
我们需要整理一下编程思路:当侦测到按钮被按下时,如果灯是熄灭的就执行点亮指令;反之,如果按钮被按下时,灯已经是亮的,那么就要执行熄灭指令。我们可以通过绘制程序流程图的方式帮助我们梳理思路,如图4-5所示。

图4-4 示例程序(二)

图4-5 程序流程图
现在要解决的问题是:如何判断灯是否打开?这需要我们先建立一个变量开关状态,通过读取开关状态的值判断灯是否开启。当开关状态为0时,代表灯是关闭的;当开关状态为1时,代表灯是开启的。
(二)编写程序
按照如图4-6所示的示例程序编写程序并上传到光环板。

图4-6 “开关灯”程序
知识宝典
程序的基本结构——分支结构
图4-6所示的程序用到了控制积木,它属于程序设计结构的一种——分支结构,也称为选择结构,即根据条件判断是否执行相关指令,其流程图如图4-7所示。需要注意的是:程序的三种基本结构并不是孤立存在的,很多时候是相互包含的。

图4-7 分支结构