NetLogo中如何根据Switch show/hide链接
how to show/hide links according to Switch in NetLogo
我想show/hide根据UI中的一个Switch的值进行链接。我知道如何 show/hide 链接当相应的过程嵌入到设置或 go 过程中时,但我想知道我是否可以分离我的 visible-links 过程以便在我需要时调用它,即使 go 按钮未按下:
to visible-links
ifelse show-diffusions? ;; this is my Switch element
[ask diffusions [set hidden? false]]
[ask diffusions [set hidden? true]]
end
我是否应该简单地添加一个永远有效的新按钮并使用它让用户调用可见链接过程?这会有点难看,但如果这是唯一的方法,我会去做。
再添加一个 "forever" 按钮就有点矫枉过正了。还有另一种解决方案,但它会更改您的用户界面。
我想你有一个名为 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
我想show/hide根据UI中的一个Switch的值进行链接。我知道如何 show/hide 链接当相应的过程嵌入到设置或 go 过程中时,但我想知道我是否可以分离我的 visible-links 过程以便在我需要时调用它,即使 go 按钮未按下:
to visible-links
ifelse show-diffusions? ;; this is my Switch element
[ask diffusions [set hidden? false]]
[ask diffusions [set hidden? true]]
end
我是否应该简单地添加一个永远有效的新按钮并使用它让用户调用可见链接过程?这会有点难看,但如果这是唯一的方法,我会去做。
再添加一个 "forever" 按钮就有点矫枉过正了。还有另一种解决方案,但它会更改您的用户界面。
我想你有一个名为 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