【发布时间】:2019-11-02 07:59:51
【问题描述】:
我正在从事消防疏散项目,并希望在单击按钮后触发事件。基本上我想使用按钮功能手动开始火灾疏散过程,但想触发一个大约 60 秒的计时器,让行人有时间使用事件功能进行疏散。
我试图通过手动单击另一个按钮来让行人停止疏散过程,但我想改用事件触发计时器,因为这将是一种更好的模拟方式。单击按钮后,我似乎无法触发事件。我试过改变触发器类型,但不知道从那里去哪里。是否需要任何代码或其他步骤?
【问题讨论】:
标签: anylogic
我正在从事消防疏散项目,并希望在单击按钮后触发事件。基本上我想使用按钮功能手动开始火灾疏散过程,但想触发一个大约 60 秒的计时器,让行人有时间使用事件功能进行疏散。
我试图通过手动单击另一个按钮来让行人停止疏散过程,但我想改用事件触发计时器,因为这将是一种更好的模拟方式。单击按钮后,我似乎无法触发事件。我试过改变触发器类型,但不知道从那里去哪里。是否需要任何代码或其他步骤?
【问题讨论】:
标签: anylogic
即使动态事件在您的应用程序中很好,您也可以使用用户控制事件:
然后在您的按钮中,您可以使用以下代码:
event.restart(60,SECOND); //you can choose any timeout here
或
event.restart(); // this will use the configuration, which in this case I set up to 60 seconds
动态事件和用户控制事件的区别在于,如果你再次点击按钮:
所以取决于你喜欢哪一个......你可以选择。我更喜欢用户控件,以防您单击按钮 2 次...或者如果您后悔单击它这么快...我不知道
【讨论】:
为此使用Dynamic Event。
在 Action 字段中添加您希望在计时器结束时执行的代码
使用代码create_MyDynamicEvent(60,SECOND);为此事件设置一个(或多个)定时实例。注意:此语句的语法始终为 create_,后跟您为 DynamicEvent 类型指定的实际名称。
【讨论】: