如何根据NetLogo中的Switch显示/隐藏链接

时间:2015-02-16 14:30:08

标签: netlogo

我想根据UI中Switch的值来显示/隐藏一系列链接。我知道如何在设置或执行过程中嵌入相应的过程时显示/隐藏链接,但我想知道我是否可以分离我的可见链接过程以便随时调用它,即使go按钮不是压:

to visible-links
    ifelse show-diffusions? ;; this is my Switch element
    [ask diffusions [set hidden? false]]
    [ask diffusions [set hidden? true]]
end

我应该只添加一个永远存在的新按钮并使用它来让用户调用visible-links程序吗?这有点难看,但如果这是我唯一的方法。

1 个答案:

答案 0 :(得分:2)

添加另一个“永远”按钮将是一种矫枉过正。还有另一种解决方案,但它会改变您的用户界面。

我想你有一个名为show-diffusions?的开关控件,它在NetLogo中自动成为一个全局变量。而不是该切换控件创建全局变量show-diffusions?按钮 Show-hide-switchShow-hide-switch过程可以打开和关闭扩散可见性并渲染链接。

globals [
  show-diffusions?  
]

to setup
  set show-diffusions? true
end

to visible-links
  ask diffusions [ set hidden? not show-diffusions? ]
end

; this is called by a button Show-hide-switch
to Show-hide-switch
  set show-diffusions? (not show-diffusions?)
  visible-links
  ; or call display if necessary
end