Skip to content

关于窗口字符

相关插件

核心插件:

◆Drill_CoreOfWindowAuxiliary 系统 - 窗口辅助核心

◆Drill_CoreOfWindowCharacter 窗口字符 - 窗口字符核心

相关子插件:

◆Drill_DialogTextAlign 窗口字符 - 文本居中

◆Drill_DialogTextBigImage 窗口字符 - 大图片字符

◆Drill_DialogFontFace 窗口字符 - 字体管理器

◆Drill_DialogCharContinuedEffect 窗口字符 - 字符块持续动作效果

……

窗口字符是一个较大的生态结构,你几乎能在所有窗口中,添加窗口字符。

你可以结合示例中的 窗口字符管理层 了解各个功能。

也可以直接去看: 窗口字符表

快速区分

窗口字符: 即绘制在窗口中的字符。

并不是所有窗口字符在窗口中绘制的结果都一样,它们根据自身的情况,

分为:一般字符指代字符效果字符消息输入字符

名词索引

以下你可以按住ctrl键点击下面的词,可以直接定位到想了解的名词:

窗口字符绘制原理 文本域 光标窗口字符 窗口字符表一般字符 指代字符 效果字符 消息输入字符 表达式
核心插件功能自动换行 字符光标偏移 加粗与倾斜字符块 反转字符
子插件功能字符串核心 文本居中 大图片字符持续动作效果字符 对话加速键

插件关系

插件之间关系如下,所有用到 窗口字符 的插件,都基于窗口字符核心。

(姓名框窗口和字符串核心 例外,由于功能特殊,其表达式中,可以再嵌套更多窗口字符,因此独立了出来。)

窗口字符

定义

所有窗口都具有 文本域和光标,作为绘制 窗口字符 的基础环境。

文本域:是指绘制窗口字符的区域,文本域具有高度和宽度。

字符或字符效果如果越出了边界,则会被遮挡。详细图解见后面章节:绘制原理

光标:文本域中确定下一个字符位置的竖线。

每绘制一个新的字符,光标都会前进到下一个位置,并且光标可以换行。详细图解见后面章节:绘制原理

你在游戏中会见到许多有趣的窗口字符,它们的底层都是 文本域和光标 。

选项窗口上下滚动时,你会发现字符也在”滚动”,其实这个过程是将文本域的字符全部清理,然后再全重新绘制一遍,所以看起来好像在”滚动”。

窗口字符: 即绘制在窗口中的字符。

并不是所有窗口字符在窗口中绘制的结果都一样,它们根据自身的情况,

分为:一般字符指代字符效果字符消息输入字符

作用域

1)留意窗口的支持情况

注意,并不是所有文本都可以随意添加窗口字符。

具体要看实际游戏中,哪些窗口能够支持指定的 窗口字符 。

下图的窗口字符,因为不支持,所以直接原封不动地显示了。

2)脚本相关

脚本开发者注意,单张Sprite贴图中画的字符,不能 实现窗口字符的功能。

窗口字符顾名思义,只能在窗口中用的字符。

如果你希望贴图中能够实现窗口字符以及其各项功能,那么你必须建立一个窗口Window_base来当做贴图使用。

绘制原理

你可以把一个窗口看成一个记事本,记事本里面有 文本域和光标

每输入一个字符,光标就能向前移动。

如果我输入一个图标\i[4],那么就会变成下图。

(记事本并不能真的放图片,这里只是举例。)

如果我按一下回车键,那么就换行。

以上,我们可以总结出一些简单的结论:

1.窗口字符必须绘制在文本域中,每个字符的位置与光标有关系。

2.字符可以换行,换行位置与文本域相关。

3.每个字符都有宽度,这个宽度由字符自己决定,图标字符也占宽度。

字符类型

窗口中所有的字符,可以分成下面几类:

一般字符:常规绘制的字符。

指代字符:用于表示一串字符串的字符,比如数字的值、名称等。

效果字符:用于表示执行一个具体功能的字符,比如消息输入、修改颜色、缩放、绘制图标等。(消息输入字符 属于 效果字符)

消息输入字符:用于对话框一个输入/等待功能的字符,只在 对话框 中有效。

(上图中”\.”之后的字符都是消息输入字符)

表达式

表达式 也属于 指代字符,但是表达式的转换优先级最高。

窗口字符的转换/生效顺序如下:

表达式 > 指代字符 > 效果字符 > 消息输入字符

表达式的格式通常为`<某功能>`,而窗口字符的 指代字符 格式为”\xxx”或”\xxx[10]”。

下图为全自定义面板的表达式转换功能。

默认窗口字符

所有窗口字符可以去看看 窗口字符表

游戏中默认提供的窗口字符如下图所示:

核心插件功能

自动换行

1)自动换行开关

在任意窗口中,添加表达式<WordWrap>,即可将该窗口的所有换行符重置,来根据窗口宽度临时自动换行。

对话框中,可以使用插件指令:“开启自动换行”

这样就不必每句话都写表达式<WordWrap>来开启自动换行了。

2)强制换行

在已开启了自动换行的窗口中,添加表达式
可以强制换行,剩下的部分继续自动换行。

注意,如果没有开启自动换行,则
表达式不会被转换。

字符光标偏移

你需要先了解 绘制原理,不要急。

光标字符 \px[10] 和 \py[10](单位像素) 可以将指定的图片绘制在文本域中。

注意,偏移位置不能填负数。

1)位置影响

偏移字符能够直接修改光标的位置,如下图,设置了\px[50]\py[18],即光标左移50像素(绿色线),下移18像素(青色线)。

后面打出的字符,就是下面的情况:

2)换行影响

光标偏移后,能够直接对整行的位置造成影响,如下图。

注意,光标偏移的px像素值(绿色线)会清零,偏移的py值(蓝色线)会叠加。

3)断行影响

如果光标偏移字符写在中间,比如”1234\px[50]abcd”,可以造成”断开”的情况:

加粗与倾斜

窗口字符核心提供了字体加粗和字体倾斜功能。

字符块

字符块: 也称窗口字符块,即一个或多个窗口字符连成一个整体的结构,能进行 整体显示、整体变换、整体涂色 等效果。

一般的字符块,需要使用 \dCOWCf 来将多个字符包裹成一个整体。

部分效果字符,本身就是字符块,比如:反转字符

使用字符块与不使用字符块能够产生不一样的效果,

比如“23.窗口字符 > 关于颜色核心.docx”的设计章节 设计一个艺术渐变字体 中,不使用字符块:

使用字符块:

因为窗口字符绘制时,是一个个绘制上去的;

而遇到字符块时,是一组一组整体绘制的。

反转字符

反转字符是一种字符块,能够横向/纵向反转。

窗口字符描述
\dCOWCfv[某文字]横向翻转内部的文字。
\dCOWCfh[某文字]纵向翻转内部的文字。

子插件功能

指代字符 - 【系统 - 字符串核心】

字符串的窗口字符可以与变量字符组合"\str[\v[21]]"。

该效果来自插件:

◆Drill_CoreOfString 系统 - 字符串核心

通过变量的值来修改不同情况下的字符串。

1)自定义技能名

技能块元素可以支持自定义的字符串。

修改字符串,切换不同的名字。

2)自我嵌套

字符串内部可以也用\str[]字符进行反复嵌套,但是要注意不能死循环嵌套。

比如3中有\str[2],2中有\str[1],而1中又有\str[3],则会构成死循环嵌套。

图中的字符串7,套用了前面2、5字符串中的内容。

3)随时修改

你可以使用插件指令随时修改字符串的内容,包括嵌套其他字符串的内容。

你还可以让用户自己输入字符串,实现更多组合功能。

效果字符 - 【窗口字符 - 文本居中】

你需要先了解 绘制原理,不要急。

该效果来自插件:

◆Drill_DialogTextAlign 窗口字符 - 文本居中

文本居中,能根据当前的窗口的宽度,自动进行间距调整。

1)居中原理

居中与光标偏移性质一样,识别窗口的宽度和字符的宽度后,自动偏移合适的距离。

这也是不能同时写两个\dac\dac字符的原因,因为光标距离叠加后,会出界。

2)使用注意

在使用文本居中插件时,如果隔行进行居中,那么第二行要 加空格 ,不然就会造成居中失效。(居中插件不能识别空行情况,必须要有字符。)

加上空格后就能正常居中了。

效果字符 - 【窗口字符 - 大图片字符】

你需要先了解 绘制原理,不要急。

该效果来自插件:

◆Drill_DialogTextBigImage 窗口字符 - 大图片字符

图片字符 \dimg[1](直接绘制图片) 或 \dimg[1,位置[10,10]](偏移一段距离后绘制图片) 可以将指定的图片绘制在文本域中。

由于是绘制在文本域,所以经常会出现以下现象:

1)图片只有一半

因为文本域的宽度不够,所以只能看到一部分,加高窗口即可。

(另外,大图片不占字符宽度,所以光标仍然停留在原位置。)

2)图片遮挡了前面的字符

由于可以通过 \dimg[1,位置[-80,0]] 设置图片的偏移位置,所以在绘制时,当前光标的字符可以挡住前面的字符。属于正常现象。

当然,遮挡后,就不能再还原了,只能重新绘制。

所以一般都把 图片字符 放在最前面绘制,你也可以根据这个原理主动设置前面的字符的被遮挡效果。(窗口字符管理层以此制作了 阅后即焚 的效果,你可以去看看。)

同样的,后面的图片字符,可以遮挡前面绘制的图片。

效果字符 - 【窗口字符 - 持续动作效果字符】

你需要先了解 绘制原理,不要急。

该效果来自插件:

◆Drill_DialogCharContinuedEffect 窗口字符 - 字符块持续动作效果

该插件可以使得你可以让 窗口字符块 播放持续执行的各种动作。

1)窗口字符块 的变化

动作效果会受到字符块的整体影响。窗口字符块的定义见前面章节:窗口字符块

如下:

“\dDCCE[字符块:预设[13]]”的效果,整体变化:

“\dDCCE[字:预设[13]]\dDCCE[符:预设[13]]\dDCCE[块:预设[13]]”的效果,一个个变化:

2)插件指令 - 完整写法

插件可以直接使用完整写法,只不过字符串特别长,最终效果只能显示“某文字”三个字的动态效果。

一般少量的文本、试验动作效果用,含大量文本的动态文字中不建议使用这个。

3)插件指令 - 简略写法

你可以将一些固定的动画配置配置到预设中,窗口字符填写预设编号,以缩短文本长度。

最短的写法可以是”\dDCCE[某文字:16]”,

但注意被包裹的文字,不能出现空格和冒号。

按键功能 - 【窗口字符 - 对话加速键】

插件提供了对话框加速的功能。

◆Drill_DialogMessageFastSkip 窗口字符 - 对话加速键

按住对话加速键,能够快速跳过所有对话框的对话。(”下一页”即W键或S键)

你也可以通过插件指令手动开关对话加速键的功能。

具体可以去窗口字符管理层试试对话加速键效果。

如果你想了解更多改变对话框的文字播放速度的方法,

可以去看看文档:” 23.窗口字符 > 关于对话文字速度.docx

加速键有很多类似的插件,这些被整合到:“1.系统 > 关于输入设备核心(入门篇).docx”的 所有加速键 章节。

窗口字符表

所有可用的窗口字符表如下表所示:

(最好按照规定的大小写来,大部分窗口字符都对 大小写 敏感。)

字符描述作用范围类型所属插件
\v[21]替换为第n个变量的值。所有窗口指代字符默认窗口字符
\n[5]替换为第n个角色的名字。所有窗口指代字符默认窗口字符
\p[1]替换为第n个队伍成员的名字。所有窗口指代字符默认窗口字符
\g替换为货币单位。( 数据库>系统 中设置单位)所有窗口指代字符默认窗口字符
\\替换为'\'反斜杠字符本身。所有窗口指代字符默认窗口字符
\c[0] - \c[31]之后文字显示为第n个颜色。所有窗口效果字符默认窗口字符
\i[136]绘制第n个图标。所有窗口效果字符默认窗口字符
\{将字体放大一级。所有窗口效果字符默认窗口字符
\}将字体缩小一级。所有窗口效果字符默认窗口字符
\$打开金钱窗口。(对话中右上角出现一个金钱窗口,结束对话消失)只对话框效果字符默认窗口字符
\.等待 15 帧,四分之一秒。只对话框消息输入字符默认窗口字符
\|等待 60 帧,一秒。只对话框消息输入字符默认窗口字符
\!等待按键输入。只对话框消息输入字符默认窗口字符
\>立刻显示后面文字。(一行内)只对话框消息输入字符默认窗口字符
\<取消立刻显示。只对话框消息输入字符默认窗口字符
\^显示文本后不等待输入。只对话框消息输入字符默认窗口字符
\ac[1]替换为第n个角色的职业名。所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\an[1]替换为第n个角色的昵称(小名)所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\pc[1]替换为第n个队伍成员的职业名所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\pn[1]替换为第n个队伍成员的昵称(小名)所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\nc[1]替换为第n个职业的名字所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\ni[1]替换为第n个物品的名字所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\nw[1]替换为第n个武器的名字所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\na[1]替换为第n个防具的名字所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\ns[1]替换为第n个技能的名字所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\nt[1]替换为第n个状态的名字所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\ii[1]替换为第n个物品的名字 + 图标所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\iw[1]替换为第n个武器的名字 + 图标所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\ia[1]替换为第n个防具的名字 + 图标所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\is[1]替换为第n个技能的名字 + 图标所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\it[1]替换为第n个状态的名字 + 图标所有窗口指代字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\fr重设之后文字的字体为默认。所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\fb之后的文字字体加粗。(如果要还原,就加 \fr )所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\fi之后的文字字体倾斜。(如果要还原,就加 \fr )所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\fs[20]指定之后的文字字体大小为n。所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\oc[6]之后的 文字边线 为第n个颜色。(只能填默认颜色0-31)所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\ow[3]之后的 文字边线 厚度为n像素。(标准为1像素)所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\px[10]断行,设置当前字符偏移的x值,单位像素。见 光标偏移字符所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\py[5]断行,设置当前字符偏移的y值,单位像素。见 光标偏移字符所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\af[5]该字符把对话框脸图 换成第n个角色脸图。 (只对话框有效)只对话框效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\pf[1]该字符把对话框脸图 换成第n个队伍成员脸图。(只对话框有效)只对话框效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\w[60]等待 n 帧。只对话框消息输入字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\dCOWCfv[某文字]横向翻转内部的文字。所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\dCOWCfh[某文字]纵向翻转内部的文字。所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\dCOWCsep[颜色[1]:厚度[2]]单行中画出一条分割线。所有窗口效果字符Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
<WordWarp>去掉文本中所有换行符,根据宽度来自动换行。所有窗口表达式Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心

自动换行时,遇到此字符,强制换行。所有窗口表达式Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
<复制:2:文字>``<复制:\\v\[21\]:文字>将”文字”复制2次。将”文字”复制 变量21值 的次数。所有窗口表达式Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
<单选:21:A:B>判断开关21,为ON则显示A,为OFF则显示B。所有窗口表达式Drill_CoreOfWindowCharacter窗口字符 - 窗口字符核心
\c[101] - \c[199]之后文字显示为自定义颜色。见 ”23.窗口字符 > 关于颜色核心.docx” 。所有窗口效果字符Drill_CoreOfColor窗口字符 - 颜色核心
\c[201] - \c[299]之后文字显示为自定义渐变色。见 ”23.窗口字符 > 关于颜色核心.docx” 。所有窗口效果字符Drill_CoreOfColor窗口字符 - 颜色核心
\cc[#ffffff]之后文字显示对应的普通颜色。见 ”23.窗口字符 > 关于颜色核心.docx” 。所有窗口效果字符Drill_CoreOfColor窗口字符 - 颜色核心
\clc[#ffffff:#11ffff:10]之后文字按字数渐变显示普通颜色。见 ”23.窗口字符 > 关于颜色核心.docx” 。所有窗口效果字符Drill_CoreOfColor窗口字符 - 颜色核心
\csave暂存当前文本颜色。见 ”23.窗口字符 > 关于颜色核心.docx” 。所有窗口效果字符Drill_CoreOfColor窗口字符 - 颜色核心
\cload恢复暂存的文本颜色。见 ”23.窗口字符 > 关于颜色核心.docx” 。所有窗口效果字符Drill_CoreOfColor窗口字符 - 颜色核心
\dal该字符之后的文字左对齐。见 文本居中所有窗口效果字符Drill_DialogTextAlign窗口字符 - 文本居中
\dac该字符之后的文字居中。见 文本居中所有窗口效果字符Drill_DialogTextAlign窗口字符 - 文本居中
\dar该字符之后的文字右对齐。见 文本居中所有窗口效果字符Drill_DialogTextAlign窗口字符 - 文本居中
\dimg[1]在光标位置绘制大图片。见 大图片字符所有窗口效果字符Drill_DialogTextBigImage窗口字符 - 大图片字符
\dimg[1:位置[5,-5]]在光标位置偏移一点绘制大图片,不影响光标位置。见 大图片字符所有窗口效果字符Drill_DialogTextBigImage窗口字符 - 大图片字符
\str[1]替换为插件中自定义配置的字符串。见 字符串核心所有窗口效果字符Drill_CoreOfString系统 - 字符串核心
\dDCOB[1]之后的文字使用描边颜色1。所有窗口效果字符Drill_DialogCharOuterBorder窗口字符 - 描边效果
\dDCOB[1,4]之后的文字使用描边颜色1,厚度4。所有窗口效果字符Drill_DialogCharOuterBorder窗口字符 - 描边效果
\dDCOBr之后的文字恢复描边设置。所有窗口效果字符Drill_DialogCharOuterBorder窗口字符 - 描边效果
\dDCOBoff之后的文字关闭描边效果。所有窗口效果字符Drill_DialogCharOuterBorder窗口字符 - 描边效果
\oc[6]之后的 文字边线 为第n个颜色。(只能填默认颜色0-31)所有窗口效果字符Drill_DialogCharOuterBorder窗口字符 - 描边效果
\ow[3]之后的 文字边线 厚度为n像素。(标准为1像素)所有窗口效果字符Drill_DialogCharOuterBorder窗口字符 - 描边效果
\dDCOG[1]之后的文字使用颜色1的外发光。所有窗口效果字符Drill_DialogCharOuterGlow窗口字符 - 外发光效果
\dDCOG[1:5:1:1]之后的文字使用颜色1,厚度5,偏移(1,1)的外发光。所有窗口效果字符Drill_DialogCharOuterGlow窗口字符 - 外发光效果
\dDCOGr之后的文字恢复外发光设置。所有窗口效果字符Drill_DialogCharOuterGlow窗口字符 - 外发光效果
\dDCOGoff之后的文字关闭外发光效果。所有窗口效果字符Drill_DialogCharOuterGlow窗口字符 - 外发光效果
\og[1]与\dDCOG[1]一样,简写形式。所有窗口效果字符Drill_DialogCharOuterGlow窗口字符 - 外发光效果
\os[5]之后的文字改变外发光厚度5,简写形式。所有窗口效果字符Drill_DialogCharOuterGlow窗口字符 - 外发光效果
\fn[GameFont]指定之后的文字字体。详细去看看”23.窗口字符 > 关于字体管理器.docx所有窗口效果字符Drill_DialogFontFace窗口字符 - 字体管理器
\n<小爱丽丝>建立一个靠左的姓名框。只对话框表达式Drill_DialogNameBox对话框 - 姓名框窗口
\nl<小爱丽丝>建立一个靠左的姓名框。只对话框表达式Drill_DialogNameBox对话框 - 姓名框窗口
\nc<小爱丽丝>建立一个居中的姓名框。只对话框表达式Drill_DialogNameBox对话框 - 姓名框窗口
\nr<小爱丽丝>建立一个靠右的姓名框。只对话框表达式Drill_DialogNameBox对话框 - 姓名框窗口
\dDCCE[文本[某文字]:标准闪烁:持续时间[60]:周期[30]]使得字符块能播放持续动作效果。详细看前面的章节:持续动作效果字符所有窗口效果字符Drill_DialogCharContinuedEffect窗口字符 - 字符块持续动作效果
\dDCCE[文本[某文字]:预设[4]]预设动作的标准写法。所有窗口效果字符Drill_DialogCharContinuedEffect窗口字符 - 字符块持续动作效果
\dDCCE[某文字:预设[4]]预设动作的简略写法。所有窗口效果字符Drill_DialogCharContinuedEffect窗口字符 - 字符块持续动作效果
\dDCCE[某文字:4]预设动作的最短写法。所有窗口效果字符Drill_DialogCharContinuedEffect窗口字符 - 字符块持续动作效果

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史