【问题标题】:Change color based on pcolor - NetLogo根据 pcolor 改变颜色 - NetLogo
【发布时间】:2014-06-14 19:27:34
【问题描述】:

我正在尝试在 NetLogo 中创建一个函数,允许我使用可点击的“色板”来确定海龟的颜色。到目前为止,这是我的代码:

 if mouse-down?
 [ ask patch mouse-xcor mouse-ycor
   [ if pcolor != 0 mod 10
     [ show pcolor 
       ask turtle whichturtle 
        [ set color pcolor]
     ]
   ]
 ]

(我创建了一个带有全局变量的下拉菜单,允许用户选择他们想要更改的海龟。)

但是,当我运行此代码时,指定的海龟将其颜色更改为它当前所在的补丁的颜色,而不是用户单击的补丁的颜色。​​

我该如何解决这个问题?任何帮助深表感谢。

【问题讨论】:

    标签: colors mouse netlogo


    【解决方案1】:

    您需要使用myself 来引用要求海龟改变颜色的补丁:

    ask turtle whichturtle [
      set color [pcolor] of myself
    ]
    

    有时会让人感到困惑:学习跟踪您正在做的事情的环境是掌握 NetLogo 的重要组成部分...

    避免在asking 的不同级别中迷失的一种方法是在代码执行中您确切知道自己在哪里的地方将事物分配给局部变量。在你的情况下,它可能是这样的:

    if mouse-down? [
      ask patch mouse-xcor mouse-ycor [
        if pcolor != 0 mod 10 [
          let chosen-color pcolor 
          ask turtle whichturtle [
            set color chosen-color
          ]
        ]
      ]
    ]
    

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 2015-12-11
      • 1970-01-01
      相关资源
      最近更新 更多