文本教程
阅读
2025-07-20更新
最新编辑:-UnderDragon-
阅读:
更新日期:2025-07-20
最新编辑:-UnderDragon-
*本教程是对制图教程中文本设定的详解,同时涉及到有关合集中文本的使用
文本使用
# 在创建好一个合集或者竞赛之后,你需要为其设定一个名字,这在接下来非常重要,因为它会决定你的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/你的自定义角色 中,放入上方已经准备的所有表情贴图。如图所示
- 4d0daa5d-2595-4b3e-bbe4-0f9d695fd5ce(20250716-205.png
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]