在使用多个事件同时监控的时候,往往当事件触发着陆后,需要知道到底是哪一个事件被触发,可以使用事件分支图标机器人编程-robolab2.9 来进行判别,例如:

  程序范例:

  制作一个抢答器,在程序运行之后,等待 5 秒内的随机时间,然后抢答双方开始按动触碰传感器,速度快的一方获胜,播放相应的音乐。对于这样一段时间,当然要同时监控 1 号和 3 号端口上的两个关于触碰传感器的事件,当事件被触发之后,通过事件分支图标判断究竟是哪一个事件被触发。

  机器人编程-robolab2.9

  然而对于更加复杂的事件情况, 比如多于 2 个的事件触发判断或者有几个事件同时触发的情况,使用事件分支进行判断就显得格外繁琐,对此,Robolab 提供另外一种更加灵活的方法——使用事件容器图标机器人编程-robolab2.9 ,为此你必须了解二进制的概念以及运算规则:

  Robolab 将事件是否触发定义为二进制数,存放在事件寄存器中:

  “0”号事件——红色事件触发的寄存器数值为 0B1=1;

  “1”号事件——蓝色事件触发的寄存器数值为 0B10=2;

  “2”号事件——黄色事件触发的寄存器数值为 0B100=4;

  。 。 。 。 。 。

  “15”号事件触发的寄存器数值为 0B1000000000000000=32768;

  而 “0” 号事件和 “1” 号事件同时触发, 则事件触发的寄存器数值为 0B1&0B10=0B11,相当于 1+2=3,以此类推。例如,对于上面的程序,增加当 2 个人同时按下的情况,可以将程序改为:

  机器人编程-robolab2.9

  此外,在事件的使用中还有几个非常有用的图标:

  机器人编程-robolab2.9事件停止监控,使用这个图标可以停止事件监控,当然可以在之后重新开始。

  机器人编程-robolab2.9事件删除,使用这个图标可以删除事件,与事件停止不同的是,删除了的事件无

  法再使用事件启动图标恢复。

  机器人编程-robolab2.9事件强行触发, 就好像跳转图标一样, 当发现事件未触发或者在判断语句之后需要

  程序跳转到事件着陆点时,可以使用这个图标,右下角的参数表明被强行触发的事件。

  机器人编程-robolab2.9事件重置,在使用事件功能时,如果需要在一段程序中改变事件的定义,则必须使

  用事件重置图标。

本站内容未经许可,禁止任何网站及个人进行转载。