作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我在一个补丁中有 10 只海龟,我如何将一只特定的海龟(带有 [color = red] 的海龟)移动到顶部?感谢您的帮助!
最佳答案
我假设问题是关于海龟的“z 顺序”,而“将一只海龟移到顶部”意味着“将它绘制在其他海龟之上”。
在 NetLogo 中有两个决定绘画顺序的因素:品种和 ẁho
编号。品种有优先权。根据 the Breeds section in the Programming Guide :
The order in which breeds are declared is also the order in which they are layered in the view. So breeds defined later will appear on top of breeds defined earlier;
同一品种的海龟按照它们的创建顺序绘制(在 NetLogo 中可以通过它们的 who
编号推断):首先绘制较旧的,然后将较新的绘制在最上面。
创建顺序不可修改,但是如果您的代码中没有任何内容保留海龟引用或who
数字(无论如何后者都是不可取的),您可以使用 hatch
创造一只乌龟的克隆体,然后立即杀死旧的。例如:
to setup
clear-all
create-ordered-turtles 10 [ set size 10 ]
ask turtles with [ color = red ] [
hatch 1
die
]
end
最后一行会将所有红海龟(在本例中只有一只)放在最上面。
如果您出于某种原因不能这样做怎么办?然后你可以使用品种:
breed [ background-turtles background-turtle ]
breed [ foreground-turtles foreground-turtle ]
to setup
clear-all
create-ordered-background-turtles 10 [ set size 10 ]
ask turtles with [ color = red ] [
set breed foreground-turtles
]
end
您需要多少品种的海龟“层数”。这可能方便也可能不方便。最佳方法取决于您的具体用例。
关于Netlogo - 如何将海龟移动到顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26748877/
我是一名优秀的程序员,十分优秀!