欢迎光临散文网 会员登陆 & 注册

重生马老弟(1)准备工作

2023-08-06 22:14 作者:鷋䳨  | 我要投稿

我该重新踏上征程了。

在经历一番搜寻过后,我成功的下载到了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。简单来说就是定义窗口相对高度,这里为了方便,将相对高度定义为数值与OSU!Mania侧相同的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侧的数据转移,只需照搬skin.ini中的数值并按指示计算即可,没有技术含量。

14║

15║

#Variable Calculation Area

16║@define 1.5xColumnWidth {ColumnWidth}+{Half_ColumnWidth}

//注意!!define属性中变量名不能有符号,必须是纯字符,这里为方便理解使用了小数点,下同(这里我要骂一个人)

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本体运算,不用理解。单纯为了便于后面script-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侧的0点在最底端,OSU!Mania侧的0点在最顶端。这里我觉得开源做的更加合理与符合直觉。

25║

26║

#Percent ColumnStart={OSU_Column}÷(

480

÷9×16)×100%

这里我使用注释因为ColumnStart在文件中是以百分数的形式存在的,而变量无法使用百分号,所以打出来让使用者自己动手。手动计算出这个数值后放在一边,后面讲script-key-4K.mui时会用到。

我实际上做了一些改动,使得模板有这样的成效;如果有小学二年级的知识储备,就不难看出我实际上作了一个映射。当你设备的长宽比为16:9时,映射不作用,但若长宽比不是16:9,则效果是使得轨道最左侧占全屏宽的百分比与在16:9情况下占比相同。可能我说话有点绕不太好理解,只用知道这样做能优化一些极端机型的游玩体验就行了。

注意:

本文章与主播分享模板中的4k.ini(TrailTypeVα).mui不完全相同,文章仅助理解用

Step 3.杂项

亲手打完skin.ini后,心中有种莫名的喜悦,许是知道自己没有失了本钱,亦或是成功迈出了第一步

接下来我开始绘制模板必需的几张图片:

“s0-0.png”

hitcircle.png

approachcircle.png

black.png

_blank.png

0-0.png 它们虽然简单,但却起着非同寻常的作用,这个后面也会讲到。

还有一个东西:preview.json。我没学过json,不过单模板里这种是个人都能看得懂的东西好像也不用学,属于是和config.json大差不差了。

{

''title'':'''',

''desc'':''Original Author:,Ported by iTristan/Mr-Mania.''

''cover'':''preview.png''

''version'':1

}

呐,六行,就没了,真的没啥好说的。

后记

妈的码字真的好累啊,不想写了。教教教教几把教,今天就这样了。

重生马老弟(1)准备工作的评论 (共 条)

分享到微博请遵守国家法律