重生馬老弟(1)準備工作
我該重新踏上征程了。
在經(jīng)歷一番搜尋過后,我成功的下載到了MT管理器并開始了模板的制作。
Step 1.新建文件夾&新建.mui文件
這是每個項目必須的開端,無需多言。
Step 2.編寫.mui文件
下一步便是編寫了,skin.ini.mui與script-key-4K.mui,我打算先從前者入手。
skin.ini.mui
UTF-8
1║
#This template is made by iTristan/Mr-Mania
署名,同樣沒什么沒什么好說的。
2║
3║
@unit
480
4║
@unit N 是Malody 4.0新增的命令符,詳細含義見UIS Manual。簡單來說就是定義窗口相對高度,這里為了方便,將相對高度定義為數(shù)值與OSU!Mania側(cè)相同的480,但仍需稍加運算,詳細見后文。
5║
#Skin settings in skin.ini
6║
@define OSU_ColumnStart N
?
7║@define ColumnWidth N
?
8║@define Half_ColumnWidth
(N?)·(?)
9║@define ColumnSpacing N
?
10║@define Half_ColumnSpacing
(N?)·(?)
11║@define OSU_HitPosition N
?
12║@define OSU_ComboPosition N
?
?
13║@define OSU_ScorePosition N
?
這段是OSU側(cè)的數(shù)據(jù)轉(zhuǎn)移,只需照搬skin.ini中的數(shù)值并按指示計算即可,沒有技術(shù)含量。
14║
15║
#Variable Calculation Area
16║@define 1.5xColumnWidth {ColumnWidth}+{Half_ColumnWidth}
//注意!!define屬性中變量名不能有符號,必須是純字符,這里為方便理解使用了小數(shù)點,下同(這里我要罵一個人)
17║@define 2xColumnWidth {ColumnWidth}+{ColumnWidth}
18║@define 4xColumnWidth {2xColumnWidht}+{2xColumnWidth}
19║@define 1.5xColumnSpacing {ColumnSpacing}+{Half_ColumnSpacing}
20║@define 3xColumnSpacing {1.5xColumnSpacing}+{1.5xColumnSpacing}
這里交給Malody本體運算,不用理解。單純?yōu)榱吮阌诤竺鎠cript-key-4K.mui的編寫而存在。
21║
22║@define HitPosition
480
-{OSU_HitPosition}
23║@define ComboPosition
480
-{OSU_ComboPosition}
24║@define ScorePosition
480-
{OSU_ScorePosition}
這里便是Malody與OSU!Mania不同的地方了,雖然此刻兩者的相對高度都是480,但兩者0點的位置不同。Malody側(cè)的0點在最底端,OSU!Mania側(cè)的0點在最頂端。這里我覺得開源做的更加合理與符合直覺。
25║
26║
#Percent ColumnStart={OSU_Column}÷(
480
÷9×16)×100%
這里我使用注釋因為ColumnStart在文件中是以百分數(shù)的形式存在的,而變量無法使用百分號,所以打出來讓使用者自己動手。手動計算出這個數(shù)值后放在一邊,后面講script-key-4K.mui時會用到。
我實際上做了一些改動,使得模板有這樣的成效;如果有小學(xué)二年級的知識儲備,就不難看出我實際上作了一個映射。當你設(shè)備的長寬比為16:9時,映射不作用,但若長寬比不是16:9,則效果是使得軌道最左側(cè)占全屏寬的百分比與在16:9情況下占比相同??赡芪艺f話有點繞不太好理解,只用知道這樣做能優(yōu)化一些極端機型的游玩體驗就行了。
注意:
本文章與主播分享模板中的4k.ini(TrailTypeVα).mui不完全相同,文章僅助理解用
Step 3.雜項
親手打完skin.ini后,心中有種莫名的喜悅,許是知道自己沒有失了本錢,亦或是成功邁出了第一步
接下來我開始繪制模板必需的幾張圖片:
“s0-0.png”
hitcircle.png
approachcircle.png
black.png
_blank.png
0-0.png 它們雖然簡單,但卻起著非同尋常的作用,這個后面也會講到。
還有一個東西:preview.json。我沒學(xué)過json,不過單模板里這種是個人都能看得懂的東西好像也不用學(xué),屬于是和config.json大差不差了。
{
''title'':'''',
''desc'':''Original Author:,Ported by iTristan/Mr-Mania.''
''cover'':''preview.png''
''version'':1
}
吶,六行,就沒了,真的沒啥好說的。
后記
媽的碼字真的好累啊,不想寫了。教教教教幾把教,今天就這樣了。