【RM教學 2.0】RMMV – 資料結構的認識

【RM教學 2.0】RMMV – 資料結構的認識

By chimaki No comments

資料結構的認識,多數的RM作者可能不熟悉,因為一般來說很少用到
但如果學著認識資料結構,在未來有機會與其他人合作或是使用範例專案的時候將會大有幫助。所以我將這系列列在中階教學裡面
希望能夠更多作者了解基本的資料結構



系列第一篇,介紹與大家MV中最主要的資料格式 “JSON”
在此篇裡不會針對JSON做太多的”技術”介紹,主要會讓作者們瞭解基本規格以及如何使用為重點。

以下正文

JSON

說明:
JSON 是個以純文字為基底去儲存和傳送簡單結構資料,可以用來儲存字串/陣列/物件。RMMV中的基本資料格式就是使用JSON進行儲存。

RMMV中「資料庫」的資料,都會以JSON格式儲存在data資料夾下

新專案底下的data資料夾可以看到很多json檔案來記錄編輯器中設定的資料。
像是Map的部分就有Map001.json/Map002.json ….
RM教學

這邊的 001/002…分別代表的地圖ID,我們也可以在編輯器中看到每張地圖的ID

圖片下方的001就是地圖ID,選到不同地圖時會自動切換成對應的ID
RM教學

而Map001.json就存放了跟地圖ID 001的圖塊資料/事件資料…任何你在此張地圖編輯的資料都會存放在此。

編輯過的地圖資料將以json格式存放到MapXXX.json中
RM教學

接著就是有關於json 的基本結構了。json檔案若不符合規格,則無法在遊戲中讀取,所以在「手動改json」(像是搬運DLC的地圖資料時)就要特別注意。

避免測試遊戲時直接跳錯誤,而導致無法順利進行測試。

@ JSON 基本格式
1. 大括號 {}
2. 中括號 []

@ 大括號的格式
大括號基本上就事 key : value 的方式儲存,key的部分以雙引號包覆
{ "chimaki" : "like rpgmaker" }

這句的含義就是 「chimaki 這個 key 的值為 “like rpgmaker”」

在多個資料的時候,要使用逗號隔開。而最後一行則不用逗號
為了觀看方便,我們換成用直式來觀看

不正確寫法:”chimaki2″ : “like” 為括號包覆中最後一筆資料,因此不用加上逗號
{
"chimaki" : "like rpgmaker" ,
"chimaki2" : "like",
}

正確寫法:
{
"chimaki" : "like rpgmaker" ,
"chimaki2" : "like"
}

@ 中括號的格式
中括號就是程式碼中陣列的概念進行儲存。這邊則盡量以簡單的說明讓讀者看懂
[ 1, "enchlish", "3" ]
像是這個就儲存了 1 , “enchlish” , “3”,三個資料。特別要注意的是,如果不是數字
或是關鍵字 true, false的情況下,要把字用雙引號包覆才不會造成讀取資料時格式錯誤。來個範例。

不正確寫法:
myfile 非程式中的關鍵字也非數字,所以需要用雙引號包覆才可以正常讀取。
另外就是 false因為是包覆資料中的最後一行,因此也不該加上逗號。
[
myfile,
1,
false,
]

正確寫法: 123可以當成字數,也可以用雙引號讓他成為字串,所以在json格式中是合法的
[
“123”,
123,
true
]

@ 混用格式
基本的格式瞭解後,接下來就是混用格式。但因為這篇主要是讓作者們有大概的概念,所以不會說太多詳細的規則。
混用格式就是將大括號與中括號混用。

先來個簡單的範例
[ { “string1” : 1, “string2” : 2}, { “string2” : 111}, { “string5” : 123}]

基本上RMMV資料庫中儲存的資料都是用混用的格式進行。
對於作者們來說,最常犯的錯誤就是「包覆中資料的最後一筆,加上了逗號」。

遊戲中的states.json
RM教學

對於想要直接搬移DLC地圖設計的朋友們,請多注意這一點就可以避免搬移後的錯誤了。

對於基本資料格式的介紹就到此囉w

本篇是盡量以非程式的型態進行介紹,若本身已經懂程式的朋友建議再多google其他文章進行學習喔



發表迴響