4.1 脚本概览

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

脚本编辑器

scritp_editor

编码和调试MicroCity脚本

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

Lua语言和嵌入函数

MicroCity使用Lua 5.1open in new window作为其脚本语言。可以在那里找到参考手册。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翻译自其他语言,如果有问题请在反馈open in new window页面提交反馈。

Last Updated:
Contributors: huuhghhgyg