全站通知:

文本教程

阅读

    

2025-07-20更新

    

最新编辑:-UnderDragon-

阅读:

  

更新日期:2025-07-20

  

最新编辑:-UnderDragon-

来自蔚蓝WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
Myn_Gen
N_Nick博
-UnderDragon-
晨曦微光0
斯塔克拉拉

*本教程是对制图教程中文本设定的详解,同时涉及到有关合集中文本的使用

文本使用

# 在创建好一个合集或者竞赛之后,你需要为其设定一个名字,这在接下来非常重要,因为它会决定你的mod文件夹结构应该是什么样的
# 现在我们作出假设,你想要创建一个合集叫做MyCollab,或者一个竞赛叫做MyContest,你应该怎么做呢?
# 注:此txt文件代码块可以直接放入Mods/MyCollab/Dialog或者Mods/MyContest/Dialog等中使用,开头带有#符号的皆为注释,如果不明白怎么书写文本想要直接使用这段内容,请不要动开头带有#的文本

# =====================第一部分 地图信息=====================

# 如果你创建了MyCollab,那么作为参加的地图你的bin文件需要存放在Mods/MyCollab/Maps/MyCollab/1-Maps之中
# 而你的地图信息按如下标准写
# MyCollab_1_Maps_地图bin文件名=地图名称
# MyCollab_1_Maps_地图bin文件名_author=作者名称
# MyCollab_1_Maps_地图bin文件名_collabcredits=致谢信息
# 比如,如果你的地图文件名叫example.bin,下面给出示例,你可以直接在这上面改:

MyCollab_1_Maps_example=地图名称
MyCollab_1_Maps_example_author=作者名称
MyCollab_1_Maps_example_collabcredits=致谢信息

# 如果你创建了MyContest,那么作为参加的地图你的bin文件需要存放在Mods/MyContest/Maps/MyContest/1-Submissions之中
# 而你的地图信息按如下标准写
# MyContest_1_Submissions_地图bin文件名=地图名称
# MyContest_1_Submissions_地图bin文件名_author=作者名称
# MyContest_1_Submissions_地图bin文件名_collabcredits=致谢信息
# 比如,如果你的地图文件名叫example.bin,下面给出示例,你可以直接在这上面改:

MyContest_1_Submissions_example=地图名称
MyContest_1_Submissions_example_author=作者名称
MyContest_1_Submissions_example_collabcredits=致谢信息

# 如果你的图是一张单图,地图文件夹叫做MyProject,那么你的地图文件应当放在Mods/MyProject/Maps/你的英文名/MyProject中
# 你的地图信息按如下标准写
# 你的英文名_MyProject_地图bin文件名=地图名称
# 比如,我是UnderDragon,如果我的文件名保存叫example.bin,下面给出示例,你可以直接在这上面改:

UnderDragon_MyProject_example=地图名称

# =====================第二部分 地图技巧=====================

# 在地图中需要用到很多技巧,合集中也是如此,为了避免和其他地图文本冲突,我们以MyCollab为例,这样规定
# MyCollab_你的名字_对话id=文本内容
# 举个例子,我是UnderDragon,我在地图中需要插入“凌波微步”的文本,这个文本的id(也就是能在地图中调用这个文本的验证码)我想叫作wavedash,那么我就应该这么写,你可以根据你的情况直接在下面一行改:

MyCollab_UnderDragon_wavedash=凌波微步

# 在地图中想要调用的时候,Dialog ID一栏你就应该填:MyCollab_UnderDragon_wavedash

# 对于单图而言其实要求不算太高,但是你也可以按照如下写:
# 你的英文名_地图文件夹名_对话ID=文本内容

# =====================第三部分 地图内对话=====================

# 在地图内有时候你会需要写一些对话什么的,这个时候类似于上面的技巧标注,我们规定地图内对话的格式按照如下书写
# MyCollab_你的名字_对话id=对话内容
# 比如,我叫UnderDragon,我要在开始的地方写个对话,我可能这个对话的代号就叫做intro,我想让玛德琳和大家打个招呼,那么写出来就是

MyCollab_UnderDragon_intro=
[madeline left normal]各位好呀!

# 在地图中想要调用的时候,Dialog ID一栏你就应该填:MyCollab_UnderDragon_intro
# 同样这部分对于单图而言其实要求不算太高,但是你也可以按照如下写:
# 你的英文名_地图文件夹名_对话ID=对话内容

特殊文本

以下的列举均为特殊文本效果:

  • 像{~}{/~}这样的形式,请在两个大括号组中间写入文本内容
  • 像{n}这样的形式,直接在合适地方使用
  • 像[GRANNY left normal]这样的形式,在文本内容前使用

*即使使用特殊文本效果也需严格遵循对话ID=对话内容的形式

文字效果

正弦函数上下摆动

    {~}{/~}

强调

    {!}{/!}

变速

    {>> x}{>>}

文本颜色

    {#000000}{#}

注意:#000000为16进制颜色代码,如#ff0000为纯红色,#00ff00为纯绿色,#0000ff为纯蓝色,详情可自行了解HEX颜色代码。

换行

    {n}

注意:在英文文本中只要文本长度达到了游戏内一行的长度,文本就会自动换行,但是在中文文本中文本不会因为达到了一行的文本长度自动换行,因此我们常常需要用这个符号来对中文文本进行分行。

停顿

    {0.3}

单位:秒。

字体变大

    {big}{/big}

字体抖动

    {*}{/*}

对话效果

翻转头像

    [xxx right/left xxx flip]  

举例:[madeline left normal]表示在游戏中出现madeline对应人物的对话框,人物头像在左侧,默认朝向右边,表情为normal状态对应表情。

对话框置底

    {anchor bottom}

引用

    {+XXX}

利用这个语句可以引用之前已经设置好的文本形式,通常可以方便mapper引用一些较长文本,或者有较复杂格式的文本

举例:一般情况下如果我们需要呈现一个青色的带有正弦摆动的Celeste Mountain文本,我们会需要在正文中写{~}{#00ffff}Celeste Mountain{#}{/~},但是如果使用次数较多的话,即便是复制粘贴也显然太过于麻烦,因此我们可以在文本文件的最前面设定好这个格式,比如我们在文本最前面写下:

    cm={~}{#00ffff}Celeste Mountain{#}{/~}

那么之后在正文中我们只需要在正文中写下{+cm},在游戏中就会自动呈现上述的青色摆动文本啦!

官图设定好的常用名

{+THEO}               {FF9523}Theo{#}

{+THEO_UNDER_STARS} {FFFF4C}TheoUnderStars{#}

{+MIXMASTER_THEO}       {FF9523}混音大师 Theo{#}

{+MOM}              {339CC7}妈妈{#}

{+MROSHIRO}         {7BD838} Oshiro 先生{#}

{+OSHIRO}               {7BD838}Oshiro{#}

{+ELCREEPO}         {7BD838}El Creepo{#}

{+MADELINE}         {F94A4A}{savedata Name}{#}

{+MS_MADELINE}      {F94A4A} {savedata Name} 女士{#}

{+RESORT}               {b864be}天空度假山庄{#}

{+THOUGHT}          {696a6a}{~}

{+ENDTHOUGHT}           {/~}{#}

{+MOUNTAIN}         {96EFFF}山{#}

{+CELESTE_MOUNTAIN} {96EFFF}塞莱斯特山{#}

{+PART_OF_ME}           {d678db}{~}另一个我{/~}{#}

{+PART_OF_YOU}      {d678db}{~}另一个你{/~}{#}

{+THEO_SISTER_NAME}     Alex

{+THEO_SISTER_ALT_NAME} Maddy

{+ALEX}                 {F94A4A}{savedata TheoSisterName}{#}

人物表情

奶奶


[GRANNY left normal]     正常的

[GRANNY left creepA]     缓慢的

[GRANNY left creepB]     缓慢的

[GRANNY left laugh]      奶奶大笑

[GRANNY left mock]       调侃的

玛德琳

[MADELINE angry left]            生气的

[MADELINE deadpan left]            面无表情的

[MADELINE determined left]         下定决心的

[MADELINE distracted left]         心烦意乱的

[MADELINE normal left]             正常的

[MADELINE panic left]          惊恐的

[MADELINE peaceful left]       平静的

[MADELINE sad left]  不高兴的

[MADELINE sadder left]             伤心的

[MADELINE surprised left]      惊喜的

[MADELINE together left]       合作的

[MADELINE togetherZoom left]   闪光眼的

[MADELINE upset left]          无语的

镜面玛德琳

[MADELINE_MIRROR angry left]       生气的

[MADELINE_MIRROR deadpan left]         面无表情的

[MADELINE_MIRROR determined left]  下定决心的

[MADELINE_MIRROR distracted left]  心烦意乱的

[MADELINE_MIRROR normal left]      正常的

[MADELINE_MIRROR panic left]       惊恐的

[MADELINE_MIRROR peaceful left]        平静的

[MADELINE_MIRROR sad left]             不高兴的

[MADELINE_MIRROR sadder left]      伤心的

[MADELINE_MIRROR surprised left]   惊喜的

[MADELINE_MIRROR upset left]       无语的

电话玛德琳

[MADELINE_PHONE angry left]            生气的

[MADELINE_PHONE distracted left]       心烦意乱的

[MADELINE_PHONE normal left]           正常的

[MADELINE_PHONE sad left] 不高兴的

[MADELINE_PHONE surprised left]        惊喜的

[MADELINE_PHONE upset left]            无语的

Theo

[THEO excited left]  激动的

[THEO normal left]   正常的

[THEO serious left]  严肃的

[THEO thinking left] 正在思考的

[THEO worried left]  担忧的

[THEO wtf left]      吃惊的

[THEO yolo left]     高兴的

镜面Theo

[THEO_MIRROR excited left]     激动的

[THEO_MIRROR normal left]  正常的

[THEO_MIRROR serious left]     严肃的

[THEO_MIRROR thinking left]    正在思考的

[THEO_MIRROR worried left]     担忧的

[THEO_MIRROR wtf left]         吃惊的

[THEO_MIRROR yolo left]    高兴的

Badeline

[BADELINE normal left]           正常的

[BADELINE angry left]      斜眼生气

[BADELINE angryAlt left]       正眼生气

[BADELINE concerned left]  关心的

[BADELINE freakA left]     发狂的

[BADELINE freakB left]     头发伸出来发狂

[BADELINE freakC left]     半个身子伸出来发狂

[BADELINE sad left]            悲伤的

[BADELINE scoff left]      嘲笑的

[BADELINE serious left]      严肃的

[BADELINE sigh left]           叹气

[BADELINE upset left]      无语的

[BADELINE worried left]        斜眼担心

[BADELINE worriedAlt left] 正眼担心

[BADELINE yell left]           叫喊

Oshiro先生

[OSHIRO left normal]            正常的

[OSHIRO left worried]           担心的

[OSHIRO left sidehappy]         转过头去笑

[OSHIRO left sideworried]       转过头去担心

[OSHIRO left nervous]           紧张的

[OSHIRO left drama] 昏倒的

[OSHIRO left sidesuspicious]    转过头去疑心

[OSHIRO left lostcontrol]       失控的

第二章结尾打电话的绿头发

[EX_PHONE left normal]    正常的

打电话的玛德琳妈妈

[MOM_PHONE left concerned]    关心的

[MOM_PHONE left normal]    正常的


自定义角色

如果你想创建自定义角色的对话和表情,你需要做以下准备:

- 1. 你的自定义角色各个表情的贴图。分辨率160*160,png格式

你可以自定义你的表情名称作为这些贴图的文件名,并且表情的后方应当跟上帧数。从“00”开始。例如

normal00.png normal01.png normal02.png normal03.png sad00.png sad01.png 等等。

- 2. 自定义角色在说话时背后的文本框。分辨率1800*400,png格式

⚠请注意:后缀名“.png”必须是小写,如果是大写会导致Everest无法识别而导致报错⚠

显示后缀名的方法:

Windows10:勾选此项

Windows11:勾选此项

接下来的操作:

1. 在 /Mods/你的mod名/Graphics/Atlases 目录下新建一个文件夹:Portraits

2. 进入 /Mods/你的mod名/Graphics/Atlases/Portraits 并创建一个以你的自定义角色名为名称的文件夹。例如,我的自定义角色是Sarah,则新建一个名称为Sarah的文件夹

3. 在 /Mods/你的mod名/Graphics/Atlases/Portraits/你的自定义角色 中,放入上方已经准备的所有表情贴图。如图所示

4. 回到 /Mods/你的mod名/Graphics/Atlases/Portraits 新建一个文件夹“textbox”用于存放文本框图片文件。

5. 进入 /Mods/你的mod名/Graphics/Atlases/Portraits/textbox 并将你的文本框图片文件放入,重命名为你的自定义角色名.png。如Sarah.png

6. 完成以上操作,回到/Mods/你的mod名/Graphics,创建一个文件:Portraits.xml

7. 向这个文件里复制以下文本

<?xml version="1.0" encoding="utf-8" ?>
<Sprites>
  <portrait_你的自定义角色名 path="你的自定义角色名/" sfx="你的自定义角色名或其他角色名" textbox="你的自定义角色名">
    <Center />
	 
    <sfxs>
      <表情名称1 index="1"/>
      <表情名称2 index="2"/>
      <表情名称3 index="3"/>
    </sfxs>
	 
    <Anim id="idle_表情名称1" path="表情名称1" delay="0.1" frames="0"/>
    <Loop id="idle_表情名称1" path="表情名称1" delay="0.1" frames="0,1,2"/>

    <Anim id="idle_表情名称2" path="表情名称2" delay="0.1" frames="0"/>
    <Loop id="idle_表情名称2" path="表情名称2" delay="0.1" frames="0,1,2"/>

    <Anim id="idle_表情名称3" path="表情名称3" delay="0.1" frames="0"/>
    <Loop id="idle_表情名称3" path="表情名称3" delay="0.1" frames="0,1,2"/>

  </portrait_你的自定义角色名>
</Sprites>

解释:

path= 后面跟上的是固定内容:双引号+你的自定义角色名+一个斜杠“/”+双引号

sfx= 后面的是自定义角色说话时的音效。如果没有设计自定义音效可替换成其他角色的声音,如madeline

textbox= 后面跟上的是自定义角色说话时的文本框。如果没有可以替换成其他角色,如madeline

<sfxs>里面的index后面按顺序写1,2,3

<Anim id= ... >和<Loop id= ... >分别记录角色在 说完这句话正在说这句话 的贴图动画。id部分分别填写 idle_表情名称talk_表情名称。path部分填写你的表情名称。delay部分填写的是每一帧展示的时长,以秒为单位。frames部分填写的是你要循环展示的帧数,例如你要循环展示normal00.png normal01.png normal02.png ,则需要填写 "0,1,2"

8. 按照你的实际情况修改对应文本。

下面是一个示例(假设我的自定义角色名为Sarah,我有normal、distracted、sad三种表情,每种表情各有4张贴图)

<?xml version="1.0" encoding="utf-8" ?>
<Sprites>
  <portrait_Sarah path="Sarah/" sfx="madeline" textbox="Sarah">
    <Center />
	 
    <sfxs>
		  <normal index="1"/>
		  <distracted index="2"/>
		  <sad index="3"/>
    </sfxs>
	 
    <Anim id="idle_normal" path="normal" delay="0.1" frames="0"/>
    <Loop id="talk_normal" path="normal" delay="0.2" frames="0,1,2,3" />

    <Anim id="idle_distracted" path="distracted" delay="0.1" frames="0"/>
    <Loop id="talk_distracted" path="distracted" delay="0.2" frames="0,1,2,3" />

    <Anim id="idle_sad" path="sad" delay="0.1" frames="0"/>
    <Loop id="talk_sad" path="sad" delay="0.2" frames="0,1,2,3" />

    <Anim id="idle_surprised" path="surprised" delay="0.1" frames="0"/>
    <Loop id="talk_surprised" path="surprised" delay="0.2" frames="0,1,2,3" />

  </portrait_Sarah>
</Sprites>

9. 保存你的代码,此时你就可以将你的自定义角色应用到你的Dialog文件里了

10. 应用你的自定义角色:你现在可以像使用官方表情的格式一样使用你的自定义角色表情了。如果你想在Dialog文件里让Sarah以normal的表情说话,你可以在你的Dialog文件里写:

[SARAH left normal]