对话框设计-蓝皮纸
基础插件
蓝皮纸的对话框效果如下图。
如果要从零开始设计,需要下图的插件:
注意,该文档提供并介绍高度自定义的对话框设计。
如果你只想要简单的对话框,可以去看看文档“15.对话框 > 关于对话框皮肤.docx
”。
基础工程示例
考虑到示例工程中的插件太多了,群友单独拿出来会遇到各种问题。
这里我建立了单独的解谜设计工程,并放入了集合中,方便熟悉用法。
小型示例工程集合链接: https://pan.baidu.com/s/1Z60Fht7alAGZymWOle68PQ提取码: 3r5e |
另外,示例中的插件一直在更新,而打包工程中的插件不一定会同步更新哦。
基础配置
具体注意示例下面的地方:
1)窗口皮肤资源
窗口皮肤的资源都统一放在 ”\img\Menu__ui_message” 的文件夹下。
2)脸图资源
注意脸图资源文件夹“img\faces”,蓝皮纸的画风中,不适合默认的脸图,可能需要额外设计,可见后面章节 脸图与签名设计 。
3)插件-对话框皮肤
留意插件中的配置,样式如下。
4)插件-对话框装饰图
留意插件中的配置,样式如下。
5)插件-对话框小箭头
留意插件中的配置,样式如下。
6)插件指令
留意示例中的插件指令设置,
在播放对话框前,需要配置很多样式,播放结束后还要恢复配置的样式。
可见后面章节:插件指令管理 。
蓝皮纸-设计
设计简介
1)灵感来源
2023年4月9日,作者我打算建设 瞎改编故事图书馆 ,当时对话框皮肤插件很早就已经实现了,于是打算让图书馆里面的每篇小故事,都换上新的对话框皮肤效果。
(当时图书馆还是下图简陋的样子)
(后来在5月大改造,可见“6.地图 > 地图设计-瞎改编故事图书馆.docx
”)
当时手边正好有 纸张 的资源图片,于是,就想做一个与“纸”有关的对话框。
于是就开坑了。
尝试不用插件
首先考虑 不用插件,
直接从窗口皮肤开始入手,
窗口有默认的边框结构,按照这个结构,剪切,加上纸的图片。
在游戏中测试,发现窗口包含默认颜色,
背景受颜色配置影响,但边框不受颜色配置影响。
为了解决此问题,可以使用事件指令,将颜色强行扭转。
下图稍微好了些,但是:
数字输入框变成了白色;
对话框的边缘明显被拉伸严重;
因此,只能使用插件,进行全方面自定义了。
边框设计
决定使用插件后,那么之前的皮肤也重新来做了。
首先,原配置的平铺背景保留,但边框要全部清掉(避免干扰)。
这是因为对话框皮肤中,三个部件都是相互独立的配置,可以分开来配。
新建一个边框资源文件。
插件会将边框资源自动划分9个部分。
这里需要将边框绿色模式设置为: 循环平铺 ,这样可以避免拉伸的违和感。
添加边框资源后,测试可以看到下图:
看起来,边框距离太长了,这里将边框的 向内缩进矩 加大。
(向内缩进距概念 向内缩进距 )
设置后,发现又缩的太多了,因为 窗口背景 平铺的矩形大了。
这里再把背景的 向内缩进距 调一下。
缩进后,再吧窗口色调锁定一下(锁定白色),
这样,对话框就完成了,边框和背景几乎看不出贴合的边缘痕迹。
脸图与签名设计
通常,白纸上面写的都是黑色的字。
这里默认的 白边框白字 显得太突兀,这里改成黑色。
要将字符变成黑色,可以使用窗口字符,
也可以使用插件指令对对话框进行专门修改。
你也可以直接在皮肤的色卡中,把 \c[0] 位置的白色改成黑色,这样就默认都为黑色字符了。但这样容易出现问题,不建议这样弄。![]() |
脸图部分,头像有144x144像素,
但直接放上去明显不好看,需要加些别的东西,让其看起来在纸上好看。
因为画了一张蓝皮纸,所以能够想到的,应该是明信片之类的东西。
于是,作者我用蜡笔质感填涂在头像上,加上艺术字。
艺术字是百度随便找的 免费艺术字生成 的功能。
http://www.yishuzi.com/b/13.htm
(版权不明,反正我只生成两个,也不是大批量用)
但是后来还是抛弃了,因为不好看。
后来想到,干脆直接用线稿。(量子妹是用矢量图画的,提取线稿是轻而易举的事情)
线稿效果比普通有颜色的头像好多了。
最后完成全部的脸图资源:
小箭头与装饰图
上述的主要对话框皮肤设计都已完成。
接下来是一些细节上的添加。
点开插件 对话框装饰图,这里添加一个蓝皮纸夹子。
原先考虑的是正向放在右下角的位置,
但是后来发现和小箭头重叠,并且还可能会挡住一些文字内容。
于是这里将资源图片翻转,然后设置基准点与坐标。
另外,对话框箭头,也改成手画的小图标。
但小箭头需要插件指令单独修改,
所以在 发起对话时,需要提前切换样式。
对话框皮肤、小箭头、字体颜色、字体描边,
都是临时修改,还需要复原,这就需要将插件单独管理起来,见:插件指令管理 。
蓝皮纸-细节问题
插件指令管理
按照前面的设计,
可以在播放对话框前,统一修改样式,
然后在播放对话框结束后,再统一回复样式。
样式修改如下图。
样式恢复如下图。
你可以将上述插件指令的样式修改,合并放到 公共事件 中,方便快速执行。 |
字体问题
作者我将对话框设计分离到小示例工程后,
发现字体对画风的影响很大。
因为示例中,默认用的字体,再纸上写,非常好看。
对比到简单示例里面,就显得有点丑了,没有对比就没有伤害……
要修改字体也很简单,找到字体管理器插件,然后加进去即可。
Drill_DialogFontFace 窗口字符 - 字体管理器
可以去看看文档“23.窗口字符 > 关于字体管理器.docx
”。
作者我在这里懒了,因为如果要修改字体,前面的 插件指令管理 需要加字体修改、字体恢复的指令,麻烦。 |
常见问题(FAQ)
对话框的描边关不掉
问题名称 | 对话框的描边关不掉 |
问题图示 | ![]() |
问题描述 | 对话框设置插件指令后,默认的描边仍然存在。 |
出现时机 | > 新工程单独复制就出问题。> 示例中复制的事件就没问题。 |
原理解析 | 可能是 全局默认值,没有设置正确。![]() |
解决方案 | 设置自定义模式即可。![]() ![]() |