关于对话框变形器
相关插件
插件本体:
◆Drill_DialogOperator 对话框 - 对话框变形器
对话框变形器能够提供 坐标X、坐标Y、高度、宽度 的属性自定义修改的功能。
你可以去看看示例中 对话框管理层 的相关介绍。

| 变形器只改变 坐标X、坐标Y、高度、宽度 这些窗口固有属性。插件 不含 美化、切换皮肤样式的功能。如果你想自定义美化对话框,去看看:Drill_DialogSkin 对话框皮肤(也可以看看 ”15.对话框 > 对话框的全部功能结构.png” 了解插件的作用范围) |
插件关系
插件之间关系如下,需要注意的是,对话框变形器与对话框皮肤 是两个分开的独立分支:
(详细可以去看”15.对话框 > 对话框的全部功能结构.png”)

对话框变形器
参数介绍
1)位置与高宽
插件控制四个参数:x、y、宽度、高度。
分别对应了:位置X模式、位置Y模式、宽度模式、高度模式。
| 控制参数 | 模式 | 模式类型 |
| x | 位置X模式 | 》紧贴左侧》紧贴右侧》框居中》使用自定义值 |
| y | 位置Y模式 | 》与'窗口位置'设置一致》紧贴下侧》紧贴上侧》框居中》使用自定义值 |
| 宽度 | 宽度模式 | 》与最长文本宽度一致》使用自定义值 |
| 高度 | 高度模式 | 》使用自定义行数的高度》自适应1至4行数的高度》使用自定义值 |
2)高度与行数
如果高度模式为“使用自定义行数的高度”,
则高度计算需要用行来做单位进行修改控制。

如果高度模式为“使用自定义值”,则高度计算需要修改控制值所在的指令。

3)自定义位置
XY的模式设置中,
只有设置为“使用自定义值”时,才能通过插件指令手动修改值并生效。

如下图的设置,
可以形成小型对话框效果。

4)气泡的位置绑定
该插件能自定义位置,基于该插件就有了下面的插件:
◆Drill_DialogBubble 对话框 - 气泡对话框
气泡插件能设置位置,将对话框绑定到游戏对象。
详细可以去看看文档:“15.对话框 > 关于对话框气泡效果.docx”。


子窗口的跟随
对话框变形器只控制 x、y、宽度、高度,
但也就是因为这几个参数,对话框会出现与 子窗口 相互抢画面空间的问题。
1)跟随的子窗口
这类子窗口有:选择项窗口、姓名框窗口 。
子窗口会始终跟随对话框,保持在一个固定的位置。
如果被挤了,那么会转移到对话框下方。

2)躲避的子窗口
这类子窗口有:金钱窗口、数字输入窗口、物品选择窗口 。
子窗口会贴在上下边缘。
如果被挤了,那么会转移到另一个边缘。

| 你可以把对话框弄的超大,比如15行以上的高度。(不建议这样弄)这样子窗口就被挤得没地方了。没地方时,子窗口会选择下方边缘。 |
从零开始设计(DIY)
设计一个长篇叙事框
1. 设置一个目标
2025年12月26日,群友提了一个有趣的需求。
他不想要默认的滚动文本框,而是要文本堆叠的长篇叙事。
每按一下,就出一段文本,直到文本填满整个屏幕,然后再下一篇。如下图。


这个设计足够简单,现有的窗口字符完全能做啊,于是作者我开坑了。
2. 结构规划/流程梳理
作者根据图中的设计,想好了一个实现方法:
“对话框高度设置16行(最大的高度),然后透明,背景放一张图片,每两行等待玩家输入设置。”
其中:
》“高度设置16行”:示例中的游戏画面为816x624像素,对话框16行的高度为最大高度,文本刚好能填满整个游戏画面。(如果分辨率不一样,需要考虑更多行)
》“然后透明”:对话框中有窗口皮肤“透明”的设置,可以只显示文本,不显示框。
》“背景放一张图片”:图片所在层级低于对话框的层级,图片可以作为叙事背景。
》“每两行等待玩家输入设置”:使用窗口字符“\!”实现,插入到文本末尾就可以。
3. 叙事背景准备
首先,需要准备一张背景图,于是作者我画了一张下雨的图。

背景图不能太亮,因为太亮可能会影响观看分布在上面的白色文字。
(你也可以用 一张正常图片+一张黑色幕布图片 叠加实现)
然后,建立一个事件,添加显示图片的指令。

对话框结束时,记得设置图片消失并销毁的指令。

4. 对话框文本设置
接下来设置对话框,
将对话框背景设置为透明,窗口位置设置在中间。
这里用到了窗口字符“\!”,该窗口字符能实现等待玩家输入。

由于文章要填满整个画面,4行远远不够,
所以使用 对话框变形器 设置为16行,然后编写16行的文本。如下图。

使用窗口字符“\.”可以实现0.25秒的停顿,
使用窗口字符“\!”可以实现等待玩家输入。
最后一行是对话框正常结束,所以不需要加等待玩家输入的字符。
(平时没事可以去了解看看 “23.窗口字符 > 关于窗口字符表.docx”)
最后效果如下图。

| 文章全部显示后,图中的右边比较空,可能还要再加很多文字才行。这个细节,具体根据故事内容篇幅来决定吧。 |
设计一个确认框/选择题框(指向)
结合对话框变形器+选择项窗口,能设计确认框和选择题框,如下图·。
◆Drill_DialogOperator 对话框 - 对话框变形器
◆Drill_DialogChoiceBox 对话框 - 选择项窗口
你可以去看看文档 ”15.对话框 > 关于选择项窗口.docx” 的 从零开始设计 章节。


常见问题(FAQ)
用插件指令修改位置、宽度没有效果
| 问题名称 | 用插件指令修改位置、宽度没有效果 |
| 问题图示 | ![]() |
| 问题描述 | 使用插件指令修改宽度、修改位置后,都不生效。 |
| 原理解析 | 这是因为设置的属性与 变形样式 相关。可见前面章节:位置与高宽 。只有模式为 ”使用自定义值” 时,才能生效。![]() |
| 解决方案 | 切换到模式为 ”使用自定义值” 的样式,然后再修改宽度、位置。![]() |
宽度设置为816以上无效,并不能更宽
| 问题名称 | 宽度设置为816以上无效,并不能更宽 |
| 问题图示 | ![]() ![]() |
| 问题描述 | 在配置中,强制设置了对话框宽度为1000,但是窗口并没有完全撑开超出游戏窗口范围。 |
| 原理解析 | 这是因为 对话框变形器 存在出界保护机制。 因为如果事件在地图镜头的边缘,那么对话框会被强制拉回到能显示的范围中,确保能正常看清文字。 |
| 解决方案 | 如果你不需要这个保护机制,可以设为true,但是要注意出界的情况。 |





因为如果事件在地图镜头的边缘,那么对话框会被强制拉回到能显示的范围中,确保能正常看清文字。