MicroCity笔记MicroCity笔记
笔记
  • Microcity Desktop 文档
  • Microcity Web 文档
  • 其它

    • 仿真框架(港口)说明文档
    • 模型/库资源
  • GitHub

    • MicroCity Desktop 仓库
    • MicroCity Web 仓库
    • MicroCity Web 在线环境
  • Gitee

    • MicroCity Desktop 仓库
    • MicroCity Web 仓库
  • zhhuu.top (自建修改)

    • MicroCity Web (fork) 仓库
    • MicroCity Web (fork) 在线环境
  • 简体中文
  • English
笔记
  • Microcity Desktop 文档
  • Microcity Web 文档
  • 其它

    • 仿真框架(港口)说明文档
    • 模型/库资源
  • GitHub

    • MicroCity Desktop 仓库
    • MicroCity Web 仓库
    • MicroCity Web 在线环境
  • Gitee

    • MicroCity Desktop 仓库
    • MicroCity Web 仓库
  • zhhuu.top (自建修改)

    • MicroCity Web (fork) 仓库
    • MicroCity Web (fork) 在线环境
  • 简体中文
  • English
  • MicroCity Desktop文档

    • 目录
    • 1.MicroCity介绍

      • 1.1 MicroCity的功能
    • 2.开始使用MicroCity

      • 2.1 显示世界地图
      • 2.2 寻找国家
    • 3.用户界面

      • 3.1 用户界面概览
      • 3.2 矢量图
      • 3.3 栅格图
      • 3.4 3D场景
      • 3.5 表格
      • 3.6 地图和图层
      • 3.7 拓展模块
    • 4.脚本编写

      • 4.1 脚本概览
      • 4.2 控制用户界面
      • 4.3 矢量图形和表格
      • 4.4 栅格图形
      • 4.5 3D场景
      • 4.6 网络
      • 4.7 离散事件仿真
      • 4.8 混合整数线性规划

4.1 脚本概览

MicroCity使用模块(详见3.7)来扩展其功能。模块的一种类型是MicroCity脚本(*.mcs),可以在iconScriptEditor中进行编辑和调试。

脚本编辑器

scritp_editor

编码和调试MicroCity脚本

ScriptEditor基于ZeroBrane。可以在那里找到详细的信息。要进行调试,您应该保持iconScript Editor打开。然后从iconMicroCity中右键点击模块,选择上下文菜单中的调试项(详见3.7)。执行过程可以在ScriptEditor的Code View中显示。您可以使用调试按钮控制执行并查看变量。

Lua语言和嵌入函数

MicroCity使用Lua 5.1作为其脚本语言。可以在那里找到参考手册。MicroCity在Lua中嵌入了许多有用的函数,不仅可以控制用户界面、操作数据,还可以解决数学模型和运行仿真等问题。请阅读以下章节以获取更多信息。

本参考资料中的约定:
Lua中有四种主要的数据类型可以作为参数通过嵌入函数传递,分别是数字(Number)、布尔值(Boolean)、字符串(String)和对象(Object)。对象类型包括内置的Lua对象,如表(Table)、函数(Function)和线程(Thread),以及MicroCity对象,如形状(Shapes)、网格(Grid)、表(Table)和场景(Scene)。为了明确嵌入函数中的参数类型,在函数描述中我们使用大写、引号和语义信息来避免歧义。参数的小写单词表示数字。有时候为了表示整数参数,会在单词后面加上字母'i',如iField。以字母'b'开头并跟随一个单词表示布尔值,如bShow。用引号括起来的单词表示字符串。大写的单词表示对象或关键字。以下是一个嵌入函数描述的示例。

AddParameter(Module, ParentNode, "Value", "id" [, default = 0])

在这个例子中,Module参数应该是一个Module对象。ParentNode参数应该是一个Node对象,但它作为一个父节点。"Value"参数是一个字符串,但它代表MicroCity中的内置类型Value,因此这个字符串是不能改变的。*"id"*参数应该是一个用户指定的字符串。default参数是一个数字。方括号中的内容是可选的。参数之间的竖线表示"或"的关系。

编码格式:
MicroCity使用ANSI编码格式读写数据,比如shp、txt、csv和dbf等。ScriptEditor和嵌入函数使用UTF-8编码格式读写数据,比如txt或csv等。

这篇文章使用ChatGPT翻译自其他语言,如果有问题请在反馈页面提交反馈。

Last Updated:
Contributors: huuhghhgyg
Prev
3.7 拓展模块
Next
4.2 控制用户界面