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程式碼標準的更新和更準確的資訊,隨著軟體功能的增加,這些標準具有一定的變化趨勢。 |

