Trainz/标签
外观
< Trainz
词汇表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明:单击正文中的脚注 ([2]) 或注释标签 ([注释 12]) 将会导航到该条目确切的文本位置。 • 然后:单击该?符号,将会返回到您开始阅读的位置。 |
- 相关的 Trainz 简介文章和参考页面
Trainz/ACS 文本格式、Trainz 数据模型、资源和内容、获取内容、Trainz/容器、Trainz/种类 和 参考文献
- 相关的 Trainz 简介文章和参考页面
标签是 Trainz 对简单 数据配对 的称呼,它包含一个基本 数据类型 与一个保留的关键字配对。在 Trainz 数据配对中,关键字始终在行中数据之前出现。
基本数据类型 或 Trainz 中的基本数据类型是指
- 文本字符串,
- 布尔 数字类型(仅为 0 或 1,始终指定单个值为 真或假)[注释 1],
- 整数(自然数或计数数)数字类型;这些用于记录离散数量,例如七个托盘或 55 公斤。Trainz 数据中的值几乎都是公制,因此米和公斤单位是默认值。
- 或小数(也称为浮点数)数字类型,用于更复杂的数据,这些数据具有广泛变化的模拟数据,例如火车车厢制动管道中的每秒制动气流量(引擎规格的一部分,引擎种类,它还模拟滚动摩擦、空气阻力、蒸汽产生、流量和许多其他不适合简单计数数字的因素)。
所有这些都分配了与该数据类型兼容的合法值。[注释 2]
还有一些解决方法混合数据类型,它在一个单一的(更新)标签键名中合并了多个字符串键名代码,现在分配了一系列值作为以分号分隔的字符串数组。
- 这些包含原型师感兴趣的排序标准,但程序员却回避这些标准来处理年代和区域分布。
- 还有一个类似的数组结构用于坐标定向标签,例如纬度、经度和海拔值定义 (其中许多是向量量),每个标签包含三个逗号分隔的浮点数,有时以引号中的字符串数组形式组织。[注释 3]
Trainz 数据定义中使用的更复杂的数据组在 Trainz 容器 和 Trainz 种类 中进行讨论,它本身是一个“容器”,但类型更独特。从某种意义上说,Trainz 资源只不过是通过适当的枚举代码和这些容器(包括称为 种类 的父类容器)组织起来的数据集合,定义了资源的相互关系和配置。容器只是资源在由资源创建者初始化时进行自我定义的元素之一。
-
- 类别-类标签
- 种类声明
Trainz 模拟器中的种类定义了属性,这些属性与类别-类设置一起需要信息字段来使资源模型正确渲染。从非常现实的意义上说,种类数据结构(将与模型渲染和运行时模拟相关的不同类型相关数据分组)是 Trainz 中的一级 容器(虽然名称特殊,为“种类”),并且几乎总是需要其他容器级数据组在 ini 文件中伴随它。这些通常通过引用(使用 KUID)包含,在各种数字模型或原型之间共享组件。 - 容器和标签
现在所有容器和类似容器的结构都将放置在 MODELS 的 config.txt 文件中,只除外季节和 LOD 的外部容器(LM.txt 文件),但种类和容器之间的区别仅仅是容器类型通常在定义特定参数的几个不同的种类资源中具有作用域,而每个种类都是唯一的,事实上,它的需求(强制性参数)从字面上定义了该资源类别到游戏引擎中。
考虑 火车车厢种类
机车和轨道车辆都有转向架(车轮在转向架上),因此它们在各自的 ini 文件中都有转向架容器来定义转向架的排列方式。但两者都没有定义引擎种类类型[注释 4]包含什么:对使用这种引擎规格的机车进行动态性能建模的数据。[注释 5] 另一方面,标签在容器内具有局部作用域,无论始终被视为单独且唯一的 Config.txt 标签,还是始终被发现位于特定类型的容器中——所有标签的用途都是相同的:用值定义和初始化特定单个数据项。 在 Trainz 数据模型中,容器是程序员用来创建可能需要或可能不需要由单个关键字和数据配对定义的多个值的技巧... 容器实际上是指分配给标签(名称)并映射到该容器类型的那些值。 |
某些值受到预定义允许值列表的严格限制,这被称为枚举类型。
- 标签 类别-类标签 中的值受到严格控制,也就是说,必须来自给定允许值列表,这些值是在其中进行枚举(列出)的。实际上,它们是字母数字代码,定义时,必须在列表中。
- 其他通常可见的较高层级的 Config.txt 标签,例如 category-era tags 和 category-region tags,是两种都采用枚举方式且比较奇特的标签类型,因为它们都是“字符串数组”——它们都用一个变量替换了数量不确定且列出的单个标签(这些标签后缀为数字),这种写法曾在许多旧版本(现在已过时)的 Trainz 中出现。但数据安排保留在 DLS 和许多相关的资产中。
大多数其他标签的选择更少,其中值得注意的是需要 布尔值 的标签,即0 或 1 的二进制加权值;通常这些标签代表是/否或真/假关键字,用于定义处理软件应该分支到决策树中的哪一部分。
- 例如,考虑这些非常常见的 配置标签:
night, engine, nightmode, lamp, auto-create, start, period, rate, velocity, lifetime, minsize, and maxsize
;你能根据它们的名称猜出哪些可能定义十进制值,是/否(或执行/不执行)条件,以及哪些可能需要一小部分可选的规定枚举值吗?[注 6] 了解标签的作用,其含义就会变得很明显。
需要的工作 下面看起来似乎是放错了页面,或者至少是错误的开头。一个将标签链接到标签页面,并将标签与种类页面绑定的简单表格似乎是一个目标方法。 此页面 正在建设中 这里的内容很可能在短时间内发生重大变化。所有了解此主题的 Trainzer 和 Wikibookians 都欢迎提供帮助。 您可以删除此标签,并将其替换为 {{Trainz-stub}},或者在“页面”变得更加成熟时,使用节 stub 模板({{Trainz-sect-stub}}) 用于未完成的节。 |
答案取决于您目前正在处理的资产类型。
此 Trainz/Tags/tags 部分是一个 stub 占位符,一个概述或标记,表示这本书的这部分内容尚未完善。您可以通过 扩展它 并提供更完整的主题讨论来帮助 Wikibooks Trainz 项目。 |
这些通常比较简单,因此我们用它们来介绍种类的使用,以及风景。
- 种类风景、带轨道的种类风景、可建造的种类
此 Trainz/Tags/tags 部分是一个 stub 占位符,一个概述或标记,表示这本书的这部分内容尚未完善。您可以通过 扩展它 并提供更完整的主题讨论来帮助 Wikibooks Trainz 项目。 |
- 基本的车辆,不与用户、产业互动,或者会与它们互动!
此 Trainz/Tags/tags 部分是一个 stub 占位符,一个概述或标记,表示这本书的这部分内容尚未完善。您可以通过 扩展它 并提供更完整的主题讨论来帮助 Wikibooks Trainz 项目。 |