AnyLogic中两次使用'on click'的方法
A way to use 'on click' twice in AnyLogic
我在主代理中有4个矩形,代表不同的站点(位置)。这些站点分别具有与它们相关的信息,并且当组合在一起时,它们的值也被组合在一起。目前,我的模型正在列出所有可能的组合,即 1 和 2; 1、2 和 3; 1 和 3 等。我的目标是 select 自己组合而不是生成所有组合。
我目前正在使用 'on click' 将模型带到单独的视图区域。我想要的是点击这些矩形进行组合,但我担心如果我使用 'on click' 它会与视图区域冲突。这两个都可以吗?
谢谢
我建议您利用 Controls
调色板,它包含所有 GUI 元素。
您的问题实际上没有一个答案。这将是您设计用户界面的选择。例如,您可以在每个站点的角落添加一个按钮,该按钮会将您带到查看区域,而不是使用 on click
并使用 on click
作为多个站点的初始 selection .
或者,您可以在屏幕顶部添加两个单选按钮,一个用于单击多个站点 select,另一个用于在视图区域之间切换。这些按钮将链接到一个变量,该变量的值将根据最后单击的按钮在 0 和 1 之间变化。在这种情况下,您在 on click
中的代码可以是一个条件语句,例如:
if( variable == 0 )
viewArea.navigateTo();
else
< code to add site to selection >
最后,如果您确实需要使用 on click
两次,最好的方法是创建一个名为 count 的变量,例如 int
类型。并在 on click
字段中,使其值在第一次单击时增加 1。与上面的代码类似,添加一个 if 语句,您第二次单击该语句将取决于该变量。例如:
if( count == 0 )
{
< code to add site to selection >;
count++;
}
else
viewArea.navigateTo();
那样的话,第一次点击会让您 select 该网站,第二次点击会导航到那里。
我知道这不是一个直截了当的答案,但这个问题可以从多个角度来探讨。这至少应该给你一些想法。
我在主代理中有4个矩形,代表不同的站点(位置)。这些站点分别具有与它们相关的信息,并且当组合在一起时,它们的值也被组合在一起。目前,我的模型正在列出所有可能的组合,即 1 和 2; 1、2 和 3; 1 和 3 等。我的目标是 select 自己组合而不是生成所有组合。
我目前正在使用 'on click' 将模型带到单独的视图区域。我想要的是点击这些矩形进行组合,但我担心如果我使用 'on click' 它会与视图区域冲突。这两个都可以吗?
谢谢
我建议您利用 Controls
调色板,它包含所有 GUI 元素。
您的问题实际上没有一个答案。这将是您设计用户界面的选择。例如,您可以在每个站点的角落添加一个按钮,该按钮会将您带到查看区域,而不是使用 on click
并使用 on click
作为多个站点的初始 selection .
或者,您可以在屏幕顶部添加两个单选按钮,一个用于单击多个站点 select,另一个用于在视图区域之间切换。这些按钮将链接到一个变量,该变量的值将根据最后单击的按钮在 0 和 1 之间变化。在这种情况下,您在 on click
中的代码可以是一个条件语句,例如:
if( variable == 0 )
viewArea.navigateTo();
else
< code to add site to selection >
最后,如果您确实需要使用 on click
两次,最好的方法是创建一个名为 count 的变量,例如 int
类型。并在 on click
字段中,使其值在第一次单击时增加 1。与上面的代码类似,添加一个 if 语句,您第二次单击该语句将取决于该变量。例如:
if( count == 0 )
{
< code to add site to selection >;
count++;
}
else
viewArea.navigateTo();
那样的话,第一次点击会让您 select 该网站,第二次点击会导航到那里。
我知道这不是一个直截了当的答案,但这个问题可以从多个角度来探讨。这至少应该给你一些想法。