UndertaleModTool介紹&使用 #2
????前一部分已經(jīng)介紹了UTMT使用中的一個(gè)簡(jiǎn)單場(chǎng)景,本篇會(huì)介紹UTMT界面相關(guān)的內(nèi)容

一.主界面
????在打開(kāi)工具之后,最先映入眼簾的就是左邊的樹(shù)狀圖以及上面的幾個(gè)選項(xiàng)。

????1.File:

????New:創(chuàng)建一個(gè)新的data.win,除非你想用utmt做游戲,不然沒(méi)什么用
????Open:顧名思義,打開(kāi)一個(gè)data
????Save:保存一個(gè)data
????Run game:打開(kāi)游戲,用的是data所在目錄的游戲啟動(dòng)器打開(kāi)
????Run game under debugger和 Generate offset map:沒(méi)用過(guò)
????Settings:設(shè)置,建議調(diào)成如下的樣子。其他的沒(méi)什么用,其中GraphViz是個(gè)繪圖軟件,后面填上這個(gè)軟件的目錄,在代碼編輯器那里就能看到Bytecode樹(shù)狀圖

????2.Scripts:提供一種一鍵式修改游戲內(nèi)容的方式

運(yùn)行內(nèi)置腳本(UTMT提供的比較泛用的)
運(yùn)行社區(qū)腳本(社區(qū)提供的,五花八門(mén))
運(yùn)行解包腳本(提取游戲內(nèi)容到其他文件里)
運(yùn)行打包腳本(將外部可供導(dǎo)入的東西導(dǎo)入data)
運(yùn)行技術(shù)性腳本(技術(shù)性較強(qiáng),亂弄可能搞壞游戲)
運(yùn)行其他腳本(顧名思義,你可以打開(kāi)一個(gè)腳本運(yùn)行)
????這里介紹幾個(gè)腳本的功能:
????Go to room:游戲內(nèi)按F3可以輸入一個(gè)房間號(hào)直接進(jìn)入,房間號(hào)對(duì)應(yīng)可以在https://pcy.ulyssis.be/undertale/rooms里查詢
????RunSwitchOnPC:讓你的switch版data能正常在PC上運(yùn)行
????ExportAllCode:導(dǎo)出游戲代碼到一個(gè)文件夾里,便于用FileLocator等軟件進(jìn)行查詢
????ShowRoomName:讓你所處房間的room值(房間號(hào))以及名稱(chēng)顯示在游戲界面左上角
????EnableDebug:選擇是否開(kāi)啟debug模式
????FancyRoomSelect:功能同Go to?room,但看上去非常高級(jí)
????DisableDogcheck:讓你可以進(jìn)到隱藏房間
????3.Help
????點(diǎn)第一個(gè)進(jìn)入U(xiǎn)TMT的github,第二個(gè)打開(kāi)版本信息

二.樹(shù)狀圖界面(僅介紹最有用的)

Sounds(音效):

Sprites(貼圖):

Paths(路徑)(指定運(yùn)動(dòng)軌跡):
Smooth指的是平滑過(guò)渡,是曲線形式。Closed指 是否閉合。Points是路徑點(diǎn),可以雙擊添加修改

Scripts(腳本):

Objects(物體,以obj簡(jiǎn)稱(chēng),這里以UT里的對(duì)話obj進(jìn)行示范):

Name自然是其名稱(chēng),Sprites是貼圖,可以從左邊的樹(shù)狀圖里給它拖進(jìn)去一個(gè)貼圖進(jìn)行修改,Visible指是否可見(jiàn),Solid是gm中一個(gè)obj屬性,Depth是指深度,數(shù)值越大,繪制時(shí)越提前,例如depth為100會(huì)被depth為0的遮住。Parent是指繼承了誰(shuí),像這種對(duì)話obj,簡(jiǎn)單理解,如果角色不能穿過(guò)去就是obj_readablesolid,能穿過(guò)去就是obj_interactable,你可以從樹(shù)狀圖中拖過(guò)來(lái)來(lái)替換,創(chuàng)造對(duì)話obj時(shí)這是一個(gè)關(guān)鍵點(diǎn)

Create中的代碼意味著:該obj被創(chuàng)建時(shí)立刻執(zhí)行,只執(zhí)行一次
Step中的代碼意味著:除非這個(gè)obj沒(méi)了,否則以每秒room_speed次執(zhí)行。例如room_speed為30意味著每秒執(zhí)行30次,room_speed這個(gè)數(shù)值一般在房間里被固定死了,可以簡(jiǎn)單理解為最大幀數(shù),但這不是很準(zhǔn)確
Alarm中的代碼意味著:事件中我們可以使用alarm[編號(hào)]=x來(lái)設(shè)定alarm執(zhí)行等待的時(shí)間,例如我在create里寫(xiě)上alarm[1]=30,而且我的room_speed=30,意思就是obj創(chuàng)建后一秒鐘執(zhí)行一次alarm1里的代碼,你還可以在alarm里套alarm實(shí)現(xiàn)多長(zhǎng)時(shí)間反復(fù)執(zhí)行的效果
對(duì)于一個(gè)對(duì)話obj,格式一般就是一個(gè)create,一個(gè)begin step,一個(gè)alarm
Room(房間):

UT里基本的房間有如下特征:
1.如此設(shè)定的View,玩家實(shí)則觀察的是320*240像素的空間,但顯示時(shí)放大2倍,呈現(xiàn)640*480

2.有一個(gè)obj_overworldcontroller,這是管控背包等UI的一個(gè)obj,是有玩家操控內(nèi)容的房間基本的obj

3.有一個(gè)obj_mainchara,這就是玩家(Frisk)的obj
Texture page item
指的是小的細(xì)分貼圖,其來(lái)源是Embedded textures
Code
包含data所有代碼片段,object和scripts里的代碼均出自這里