我想根据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程序吗?这有点难看,但如果这是我唯一的方法。
答案 0 :(得分:2)
添加另一个“永远”按钮将是一种矫枉过正。还有另一种解决方案,但它会改变您的用户界面。
我想你有一个名为show-diffusions?
的开关控件,它在NetLogo中自动成为一个全局变量。而不是该切换控件创建全局变量show-diffusions?
和按钮 Show-hide-switch
。 Show-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