Trainz/种类
| |||
|
|||
|
术语表 |
HKeys-CM |
HKeys-DVR |
HKeys-SUR |
HKeys-WIN |
鼠标使用 |
符号 |
操作说明:点击正文中的脚注([2])或注释标签([note 12])将导航您(定位页面)到该条目的确切文本。 • 然后:点击那里的?符号,将返回您到您开始阅读的地方继续阅读。 |
除了本地安装数据库之外,定义Trainz 资源的所有元素都包含在一个单个文件夹中——资源文件夹或资源源文件夹——当资源分别打开以进行编辑或构建时,这两个文件夹都可以访问——两者都涉及(可能多种编辑)编辑和数据操作。
种类是这些资源源文件夹中特殊的父数据形式,并在文件夹的唯一config.txt 文件中定义。Kind 标签的合法值受到严格限制。[注释 1]每个配置都有一个种类,并且每个配置在本地定义其余部分的目录中都有一个家,以创建该资源。因此,资源源文件夹也可归类为 Trainz 容器的一般数据类型之上的一步,并且每个都由类型指定,由其显式唯一关键字控制,Kind 标签值。
因此,每个 Kind 都表示在自定义的自包含 Trainz 资源定义层次结构中的一组基本枚举的 Trainz 资源类型或资源种类数据类。内部的config.txt 文件负责定义唯一 KIND 行的“资源类型”数据需求,并将 KIND 要求定义为必要的(或可选的)内容与 TBS设置的其他强制和可选资源数据定义聚合在一起——实际上,配置负责定义父 KIND,将其他TrainzBaseSpec定义行需要的内容与父 KIND 行(种类“名称”)值所需的定义行合并以创建种类类型的资源,如在 TBS 中设置“种类“KIND 枚举类型名称””行所定义。
将该计算机科学翻译成英语:每个“Kind 标签”都设置了资源是什么以及其资源文件夹在提交到 Trainz 内容管理器进行提交(现在,由于 TANE 内容管理器的出现,奇怪地称为提交)或验证(错误检查和测试,在将资源提交(或提交)到数据库之前的步骤。还在上传到 DLS 之前。每个种类都与源 config.txt 文件配对,通常作为其最前几行之一[注释 2]。所有内容都是 TAG-DATA 对的一部分。有些是 TAG-容器,许多是 TAG-值,但所有配置数据都是成对的。容器中的子容器遵循相同的规则。即使是数组数据元素——字符串、多个值、多种可能性(类别-时代和类别-区域)也在一行上以成对关系定义。因此,容器是关键字标签,表示期望“{”和“}”,并根据标签名称定义的规则处理两者之间的数据。
了解 KIND 的作用可以说仅略微不如理解TrainzBaseSpec的作用以及两者普遍存在的容器config.txt文件的作用重要。在这三种情况下,所有这三种都是用户掌握修复或创建资源的最重要的数据元素。幸运的是,每种 Trainz 资源都有一个唯一的 KIND,因此可以根据需要或系统地逐一掌握这些 KIND,并且类似地,可以逐一理解每个容器。
事实上,所有这三个元素都紧密相连,因为它们在资源根文件夹中协同工作,该文件夹必须包含配置,而配置又“必须”包含TBS 中的 Kind 标签和其他强制性 TBS 支持定义,例如kuid和用户名,并且根据 TBS 行中定义和选择的 KIND,“必须”因此包含该Kind 标签和所有支持定义所需的内容……包括必需的容器和子容器。
在较小程度上,KIND 和类别-类标签协同工作,以告知内容管理器软件资源的config.txt 文件中哪些其他关键字是必要的、可选的或非法的,而后者具有将该类别-类成员(正在定义的资源)添加到 CM 的排序和选择操作中对用户有用的各种排序标准组合的定义目的。
|
Trainz 种类是定义用于在单个识别 kuid 下表征资源类型的最小数据结构的上层容器。
Trainz 模拟器中的KIND定义了与类别-类一起设置的属性,该属性设置了使资源模型正确渲染所需的信息字段。在非常真实的意义上,KIND 数据结构(对与模型渲染和运行时模拟的需求相关的不同类型的相关数据进行分组)是 Trainz 中的第一级容器(尽管名称特殊,为“KIND”),并且几乎总是需要其他容器级数据组在 ini 文件中与之一起使用。这些是枚举的支持容器和标签,Kind 标签和类别-类的组合使用它们来确定必须为此类资源定义哪些其他数据元素,这些数据元素可以被视为子种类,因为所有类似的资源都需要定义相同的数据元素。
现在所有容器和类似容器的结构都位于 config.txt 文件中,但区别仅仅在于“容器定义类型”通常在几个不同的 KIND 定义的资源中具有作用域(适用性),并表示共享属性(一个特征,例如转向架),而每个 KIND 对该类资源都是唯一的。KIND 机车和 KIND 车厢都有转向架(卡车上的车轮),因此两者在其 ini 文件中都有一个转向架容器。
|
以下列表截至页面编排时是完整的,并且会定期更新。请查看Trainz-Wiki KIND TrainzBaseSpec以获取可能的更新。(那里许多下面的链接连接到N3V TrainzOnline Wiki,并且这些链接与Wikibook章节链接之间存在细微的色差。截至2014年8月下旬,那些仍然是红链接的尚未在N3V Wiki中正式定义,尽管该类可能已在内容创建者的论坛之一中公布。)
所有Trainz定义的数据(内容)都包含三个必需元素:一个config.txt文件用于组织数据,一个表示kuid的身份(仅用户名对你没有用,但可以创建无需名称的合法资产!)以及最后一个,一个合法定义的kind标签。kind负责指挥,是乐队的指挥,是排长或CEO,给出指示——为之后处理的所有内容设置要求。简而言之,kind的值,一个小型、精选的严格定义的仅限成员的组——告诉Trainz软件在我们将创建的虚拟世界中渲染和显示什么以及如何(或在何处)查找将这些资产的各个部分链接在一起的config.txt文件中所需的其他部分。
下面每个子类都被认为具有TrainzBaseSpec作为其数据“父类”。[注释 4]下面列出的一些kind,那些带下划线的,是早于Trainz数据模型在TS2009版本中(即2008年末以来)更改的遗留kind,N3V程序员自此只对其施加了渐进的(增量的)更改。
目前,有关基于这些遗留kind修复资产的详细信息可以在N3V Trainz Wiki的内容创建者指南部分找到TrainzOnline网站此处,其中包含一些说明性的遗留Kind示例此处。强烈建议任何Trainz下载站用户或任何考虑创建内容的人仔细阅读CCG。通过了解旧内容定义的背景历史获得的见解,可以与TrainzOnline对相同数据类型的当前覆盖范围进行对比和比较,因为这种过去与现在的对比通常可以为修复、更改和自定义资产提供宝贵的见解。更重要的是,CCG中的写作是由专业人士制作的,并且更加冗长——它通常会让你了解更改这一点或那一点带来的扩展效果,而Trainz Wiki则没有提供这些信息。TrainzOnline上发布的CCG是TC1&2/TC3版本——几个小册子中最后出版的一个,这些小册子可以追溯到1999年的Trainz;TC3 CCG包含来自TRS2004/TRS2006和UTC数据模型的已更改的Enginespecs机车资产,需要进行正确的更新。
- 本节提供指向一组示例子页面的链接,这些子页面展示了常见资产
- 从v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9或其他活动数据模型发生变化的版本到其他类似版本的kind配置的演变,并且可以使用文件比较软件查看差异。
- 最重要的KIND是什么?
答案取决于您当前正在处理哪种资产和资产子类型。在人类的思维过程中,机车和货车都是Kind“火车车厢”,但在Trainz配置中是不同的KIND声明,并且柴油机车和蒸汽机车都需要定义不同的数据参数来模拟资产;配置中的这种差异来自kind的定义,并且强制性的category-class标签仅在CM和surveyor选择和排序过滤器中具有作用域。
这些通常比较简单,因此可以介绍KIND的使用,
此Trainz/Kinds部分是一个存根占位符,是本书此部分不完整的大纲或标记。您可以通过扩展它来帮助Wikibooks Trainz项目,以更全面地讨论该主题。 需要工作:本节提供指向一组子页面的链接,这些子页面展示了从v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9或其他数据模型发生变化的版本到其他类似版本的常见资产kind配置的演变,并且可以使用比较软件查看差异。 |
此Trainz/Kinds部分是一个存根占位符,是本书此部分不完整的大纲或标记。您可以通过扩展它来帮助Wikibooks Trainz项目,以更全面地讨论该主题。 需要工作:本节提供指向一组子页面的链接,这些子页面展示了从v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9或其他数据模型发生变化的版本到其他类似版本的常见资产kind配置的演变,并且可以使用比较软件查看差异。 |
此Trainz/Kinds部分是一个存根占位符,是本书此部分不完整的大纲或标记。您可以通过扩展它来帮助Wikibooks Trainz项目,以更全面地讨论该主题。 需要改进: 本节需要提供指向一组示例子页面的链接,这些子页面展示了从v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9等版本中常见资产种类配置的演变过程,或者其他数据模型发生变化的版本,以便使用比较软件查看差异。 |
此Trainz/Kinds部分是一个存根占位符,是本书此部分不完整的大纲或标记。您可以通过扩展它来帮助Wikibooks Trainz项目,以更全面地讨论该主题。 需要工作:本节提供指向一组子页面的链接,这些子页面展示了从v1.3-v1.5、v2.2、v2.5、v2.9、v3.7、v3.9或其他数据模型发生变化的版本到其他类似版本的常见资产kind配置的演变,并且可以使用比较软件查看差异。 |
- ↑ 种类和许多其他 Trainz 数据定义,尽管范围广泛,但都是枚举数据类型……这意味着它们必须是来自允许的单词列表的<值>。其他任何都不适用!
- ↑ 所有标签和容器在配置文件中的位置实际上并不重要,只需确保数据结构在引号、方括号和圆括号中正确嵌套即可。
- ↑ 虽然N3V程序员没有正式承认(在我见过的任何地方),但LOD文件[1](例如'meshname.LM.txt'和文件规范.texture.txt)文件可以被认为是ini文件类型或包含文件类型,实际上扩展了配置文件中内联定义。(texture.txt文件 + LM.txt文件) 每个文件不仅包含路径信息,还包含必要的如何实现数据指令行,并且与config.txt文件行一样,必须采用正确的格式,否则资产将产生错误。
• config.txt文件和此类包含文件之间的主要区别在于,它们不严格遵循Trainz关键字—<值>对的单行格式,而是经常使用等号作为其语法的一部分。 - ↑ 注意:此列表在N3V TrainzOnline Wiki上进行了“Wiki化”,这意味着在“KIND”一词之后首字母大写,而config.txt文件中实际的数据标签名称则是全部小写文本。该Wiki还在很多术语中使用了双引号,我们将在本文中避免使用这种做法。
- ↑ “种类编组”并不常直接看到,它有点只存在于菜单和内容管理器列表中。
本参考页面改编自TrainzOnline Wiki,根据CC-BY-SA 3.0许可证发布。与同一主题的源页面相比,本页面可能包含更多文本说明、阐述、历史和/或示例。 TrainzOnline Wiki主要由程序员或知识渊博的内容创作者维护,可能包含有关当前trainz-build代码标准的更新和更准确的信息,随着软件功能的增加,这些标准具有一定的变化趋势。 |