将生成的代码发送到其他地方到 NetLogo

Sending generated code elsewhere to NetLogo

我正在尝试一个环境,它的主要功能是采用可视化编程来创建 NetLogo 代码(类似于 Google 的 Blockly)。

现在,我正在使用 Unity3D 来完成这项工作,想知道是否可以从中访问 NetLogo。 objective 是将生成的代码直接发送到代码选项卡中,打开一个空白项目,该选项卡中已有代码(无需用户将其复制并粘贴到那里)。

到目前为止我所知道的是我可以使用一个名为 Process.Start 的函数从 Unity 打开 NetLogo,它有两个参数:第一个是要执行的目标程序的名称("NetLogo.exe"),第二个是可以传递给目标程序的参数列表,它完全取决于每个程序,as found here and here。然而,我对这些论点了解不多,所以我又来问了。

我是否还需要在 Java/Scala 环境中工作才能使用 Extensions API 为我执行此操作,或者我是否可以在 Process.Start 中使用这些参数来执行此操作?

提前致谢。

您可以创建一个完整格式的 .nlogo 文件(它基本上是一个 text file with a specific format),然后使用您的 Process.start 命令以该文件名作为参数启动 NetLogo,这样 NetLogo 将打开特定的文件。

您甚至可以创建一个 .nlogo 文件作为模板(使用您想要的任何界面项目),然后使用字符串 search/replace 替换代码选项卡中您想要的代码。

或者,Controlling API 可以实现更奇妙的事情,但我对从 Unity 中调用 JVM 代码了解不多,我怀疑这会比你想要的更令人头疼......除非您确实需要与 NetLogo 建立更紧密的连接,或者除非每次启动新 NetLogo 进程的性能开销是不可接受的。