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