在使用多个事件同时监控的时候,往往当事件触发着陆后,需要知道到底是哪一个事件被触发,可以使用事件分支图标 来进行判别,例如:
程序范例:
制作一个抢答器,在程序运行之后,等待 5 秒内的随机时间,然后抢答双方开始按动触碰传感器,速度快的一方获胜,播放相应的音乐。对于这样一段时间,当然要同时监控 1 号和 3 号端口上的两个关于触碰传感器的事件,当事件被触发之后,通过事件分支图标判断究竟是哪一个事件被触发。
然而对于更加复杂的事件情况, 比如多于 2 个的事件触发判断或者有几个事件同时触发的情况,使用事件分支进行判断就显得格外繁琐,对此,Robolab 提供另外一种更加灵活的方法——使用事件容器图标 ,为此你必须了解二进制的概念以及运算规则:
Robolab 将事件是否触发定义为二进制数,存放在事件寄存器中:
“0”号事件——红色事件触发的寄存器数值为 0B1=1;
“1”号事件——蓝色事件触发的寄存器数值为 0B10=2;
“2”号事件——黄色事件触发的寄存器数值为 0B100=4;
。 。 。 。 。 。
“15”号事件触发的寄存器数值为 0B1000000000000000=32768;
而 “0” 号事件和 “1” 号事件同时触发, 则事件触发的寄存器数值为 0B1&0B10=0B11,相当于 1+2=3,以此类推。例如,对于上面的程序,增加当 2 个人同时按下的情况,可以将程序改为:
此外,在事件的使用中还有几个非常有用的图标:
事件停止监控,使用这个图标可以停止事件监控,当然可以在之后重新开始。
事件删除,使用这个图标可以删除事件,与事件停止不同的是,删除了的事件无
法再使用事件启动图标恢复。
事件强行触发, 就好像跳转图标一样, 当发现事件未触发或者在判断语句之后需要
程序跳转到事件着陆点时,可以使用这个图标,右下角的参数表明被强行触发的事件。
事件重置,在使用事件功能时,如果需要在一段程序中改变事件的定义,则必须使
用事件重置图标。
本站内容未经许可,禁止任何网站及个人进行转载。