设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: trentswd
打印 上一主题 下一主题

[原创发布] 【Fuki对话框】自定义窗口边框+Fuki对话框 v0.9.1

[复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

跳转到指定楼层
1
发表于 2015-12-20 23:26:04 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 trentswd 于 2016-3-7 23:23 编辑


2016-01-31 更新
1 修正姓名框显示问题
2 修正可能的小数坐标导致显示模糊的问题

下载
twdp_window 0.9.1.zip (33.34 KB, 下载次数: 1419)

2016-01-31 更新
后面的修改主要是对Meta的修改和一些修正,比较繁琐就不列举了,一个一个说吧

下载
twdp_window_v0_9.7z (30.16 KB, 下载次数: 774)

用法:
显示文章中:
显示文章里面使用以下控制符号
#{NEXT} 进入下一个事件,直到下一个显示文章内容。会和下一个显示文章内容合并
#{F:编号} 此对话框转换为Fuki对话框,编号:正数为地图事件ID,0为本事件,-1为主角,-2之后为队伍成员。如果该行走图不是标准高度,可以#{F:编号,高度}来调整
#{P:文件名} 显示头像。当你没选头像时,文件名就是文件名。如果你选了头像,那么文件名就是“头像名_头像编号_文件名“,例如,下图中文件名是N,选了头像,所以最终查找的是"Package1_8_n.png"。
【注意】头像文件夹已经换到了img\portraits,防止干扰正常头像选取
#{PM:文件名} 显示头像,同上,但是水平反转
#{N:姓名} 显示姓名框
#{PP}手动页面暂停

自动换行:
TWDP_ShowMessageEx.js的参数Auto Wrap改成true,之后忽略所有换行符。文字遇到边缘自动换行
若需要强制换行,请使用#{BR}
已知问题:会影响战斗界面的消息。

Meta:
这个插件控制窗口用的是JSON,JSON里面包含了窗口所有的参数,包括背景、字体、缩进之类的参数,我把它叫做Meta
使用带JSON的窗口皮肤,会使用窗口皮肤里面的Meta,如果使用默认皮肤,则使用自带的Meta

默认Meta
JAVASCRIPT 代码复制
  1. {
  2.       "fontSize": 28,  //字体大小
  3.       "padding": 18, //内容和窗口边框的边距
  4.       "fontColor": "0", //字体颜色,"0"是默认颜色,可以使用#FFFFFF格式,也可以使用rgba(255,255,255,255)格式
  5.       "unitFontColor": "", //金钱单位颜色,YEP兼容选项,一般不用
  6.       "lineHeight": 36,//行高
  7.       "textOutlined": true, //文字描边
  8.       "textShadowed": false,//文字阴影,这俩不要一起用
  9.       "outlineColor": "rgba(0, 0, 0, 0.5)", //文字描边颜色
  10.       "shadowColor": "rgba(0,0,0,0.5)", //文字阴影颜色
  11.       "shadowDistance": 1, //阴影和文字的距离
  12.       "outlineWidth": 4, //描边的宽度
  13.       "back": {//窗口背景选项
  14.         "opacity": 192, //背景透明度
  15.         "useTone": true//是否使用色调,也就是游戏系统里面的窗口颜色
  16.       },
  17.       "paddingDetail": { //边距详细,不需要就可以不管
  18.         "top": 0,//上边距
  19.         "left": 0,//下边距
  20.         "right": 0,//左边距
  21.         "bottom": 0,//右边距
  22.         "withNameWindow": {  //有人名框的情况下的边距
  23.           "top": 0,
  24.           "left": 0,
  25.           "right": 0,
  26.           "bottom": 0
  27.         }
  28.       },
  29.       "fuki": {//使用fuki对话框情况下
  30.         "maxWidth": 480,//最大宽度
  31.         "maxWidthWithPortrait": 600,//有头像时候的最大宽度
  32.         "minWidth": 80,//最小宽度
  33.         "minWidthWithPortrait": 200,//有头像时候的最小宽度
  34.         "maxLines": 4,//最大行数
  35.         "minLines": 1,//最小行数
  36.         "minLinesWidthPortrait": 3,//有头像时候的最小行数
  37.         "arrowHeight": 0,//箭头高度,现在没有对话箭头,可以当作对话框和人物的额外间距使用
  38.         "charaHeight": 50,//人物的默认高度
  39.         "charaSpace": 15,//人物和对话框的间距
  40.         "additionTopForPlacement": 0,//计算对话框大小的时候,上方的额外高度(比如你上面有装饰,加上这个防止装饰被放到屏幕外面)
  41.         "additionLeftForPlacement": 0,//计算对话框大小的时候,左方的额外高度
  42.         "additionRightForPlacement": 0,//计算对话框大小的时候,右方的额外高度
  43.         "additionBottomForPlacement": 0//计算对话框大小的时候,下方的额外高度
  44.       },
  45.       "portrait": {//头像
  46.         "indent": 20,//缩进
  47.         "spacing": 20,//和文字的间距
  48.         "distanceToBottom": 5//和下方的间距
  49.       },
  50.       "asNameWindow": {//如果此窗口是姓名框
  51.         "offsetX": 0,//横向偏移
  52.         "offsetY": 0,//纵向偏移
  53.         "widthDelta": 0,//如果显示,给原来窗口增加的宽度,用于计算如何放置窗口
  54.         "heightDelta": 0,//如果显示,给原来窗口增加的高度,用于计算如何放置窗口
  55.         "openWhenDisplay": true,//显示是使用open动画
  56.         "closeWhenDisappear": true//消失时使用close动画
  57.       }
  58.     };


如何设定Meta:
1 如果使用自定义窗口背景,那么在窗口背景的JSON里面直接改
2 如果使用系统默认WindowSkin,则需要在插件“TWDP_BaseWindowEx.js”的“User Window Meta”参数里面设置
更改的时候写一部分json就可以了
例如你只想修改头像的缩进 你只需要写
JAVASCRIPT 代码复制
  1. {
  2.       "portrait": {
  3.         "indent": 20
  4.       }
  5. };


参数介绍:
TWDP_BaseWindowEx.js

Use TWD Window Skin
是否全局使用自定义窗口背景 不要使用 保持为false

Default Window Skin
全局默认自定义皮肤,不要使用,保持为空

User Window Meta
用户自定义Meta,见上文
Meta有默认Meta,窗口皮肤内的Meta和用户自定义Meta,最后使用时,优先使用用户自定义的,其次使用窗口皮肤内的,如果都没有则使用默认的

Enable Window Stacking
是否启用窗口堆叠
就是取消WindowLayer的窗口清除,让窗口可以互相叠在一起,默认为true
也应该保持为true,除非你遇到问题,那就改成false

TWDP_ShowMessageEx.js

Auto Wrap
是否自动换行

Text Window Skin
窗口自定义背景,注意写json的文件名就可以了

Text Window Skin For None Fuki
不用fuki时的窗口自定义背景

Name Window Skin
姓名框自定义背景

Name Window Skin For None Fuki
不用fuki时姓名框自定义背景

Gold Window Skin
金币框自定义背景

Choice Window Skin
选项框自定义背景

Number Window Skin
数字输入框自定义背景

Item Window Skin
物品选择框自定义背景

Text Window Meta
对话框自定义Meta,和见上文,不过这个只对对话框有效

Name Window Meta
姓名框自定义Meta

Gold Window Meta
金币框自定义Meta

Choice Window Meta
选项框自定义Meta

Item Window Meta
物品选择框自定义Meta

Number Window Meta
数字输入框自定义Meta

窗口背景皮肤格式:
吃完饭来写



目前实现的功能
1 自定义窗口背景。
2 Fuki对话框。
3 头像、对话中切换头像。同时支持默认头像。
4 对话中间插入事件。
5 姓名框
6 翻页暂停、长文翻页
7 自动换行

功能范例
如图

自定换行和长文范例:


窗口背景格式
Work In Progress

兼容性
兼容YEP

顺序
目前放在最下面,至少放在YEP Message Core下面
TWDP_ShowMessageEx.js放在TWDP_BaseWindowEx.js下面

用法:
显示文章中:
显示文章里面使用以下控制符号
#{NEXT} 进入下一个事件,直到下一个显示文章内容。会和下一个显示文章内容合并
#{F:编号} 此对话框转换为Fuki对话框,编号:正数为地图事件ID,0为本事件,-1为主角,-2之后为队伍成员。新加如果该行走图不是标准高度,可以#{F:编号,高度}来调整
#{P:文件名} 显示头像。当你没选头像时,文件名就是文件名。如果你选了头像,那么文件名就是“头像名_头像编号_文件名“,例如,下图中文件名是N,选了头像,所以最终查找的是"Package1_8_n.png"

#{PM:文件名} 显示头像,同上,但是水平反转
#{N:姓名} 显示姓名框
#{PP}手动页面暂停

自动换行:
TWDP_ShowMessageEx.js的参数Auto Wrap改成true,之后忽略所有换行符。文字遇到边缘自动换行
若需要强制换行,请使用#{BR}

使用自定义皮肤:
我暂时没空写JSON的文档,就先放一个范例:
请注意这个图是天之痕里面扒来的,请不要在游戏中使用。
在img文件夹里面创建一个文件夹twdWindowskin,将json和png放进去。注意,json和png文档必须名字一样
然后在TWDP_ShowMessageEx.js的参数中,修改参数,如图

有兴趣可以配合代码看看json的格式,自己定义自己的窗口皮肤……(

下载
最新:
注意JSON文件也有更新
twdp_window_v0_2.zip (30.57 KB, 下载次数: 810)
旧版本:
twdp_window_v0_1.zip (29.69 KB, 下载次数: 236)

下一步
1 写JSON文档
2 修改金币窗口、选择肢窗口、数字输入窗口、物品选择窗口
3 修改选择框的实现
4 半身像
5 fuki的箭头

问题反馈
请回帖,附上F8控制台中的内容

评分

参与人数 12星屑 +345 梦石 +1 +7 收起 理由
ssrwkx + 1 精品文章
DONY886 + 1 精品文章
言物之石 + 1 精品文章
youuuuuuuuu + 1 我很赞同
wr282828 + 1 塞糖
2256538860 + 1 我很赞同
花糖兔子 + 1 我很赞同
菊花侠小赵 + 20
山鲁佑德 + 10 塞糖
余烬之中 + 1 发布奖励

查看全部评分

吸吸

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

2
 楼主| 发表于 2015-12-21 22:30:42 | 显示全部楼层
更新
如果没有bug短时间应该就这样了……
吸吸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

3
 楼主| 发表于 2016-1-30 18:23:38 手机端发表。 | 显示全部楼层
影痕轩 发表于 2016-1-30 15:02
什么时候更新呀

需要更新什么?有问题或者需求直接说吧,我看看能不能改。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

4
 楼主| 发表于 2016-1-31 16:01:49 | 显示全部楼层
影痕轩 发表于 2016-1-31 11:45
这个不用自带的换行就会显示不完全,但是用了的话又会出现

不用气泡对话框会出现文字断层的情况

这东西我自己一直在用,所以一直都在陆续改,你说的第一个问题是改了
第二个问题我自己没遇到过

另外不用自动换行应该也没问题呀,就是要自己换行

我整理一下更新一下吧
吸吸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

5
 楼主| 发表于 2016-3-4 19:57:50 | 显示全部楼层
summer依恋 发表于 2016-3-4 18:06
有个问题,打开对话框会出现:
开始设置好的事件,后来改了里面用到的某图片名字,并在事件里做了相应修改 ...

不是很理解你的意思……我先问一下
1 修改事件之后没有关闭当前游戏->保存工程->再次打开游戏再测试?
2 "关闭对话框js所有图片名字随便改,只要把用到的图片在数据库里重新设置就不会出错" 这句话完全不理解

最后
这个插件没有测试过中文文件名,我也不推荐用中文文件名
为了项目的通用性我也不推荐你用中文文件名

点评

抱歉,已经解决了!太奇怪 T T js没问题、、  发表于 2016-3-4 21:52
吸吸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

6
 楼主| 发表于 2016-3-5 15:35:35 手机端发表。 | 显示全部楼层
summer依恋 发表于 2016-3-5 12:01
先说声抱歉,几次都是自己不会以为是bug - =
这次恐怕真要麻烦楼主了,打包安卓会出问题。但在电脑上一切正 ...

我在安卓上测试过
主要是你这问题光看截图也不知道是哪里的问题……

点评

最新的是0.9吗?搞不懂为什么会出问题  发表于 2016-3-5 22:42
好蛋疼,这次几个脚本都晕了、、  发表于 2016-3-5 15:59
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

7
 楼主| 发表于 2016-3-7 23:23:49 | 显示全部楼层
改了一下上面提到的姓名框的问题

点评

非常感谢!辛苦了!  发表于 2016-3-8 09:31
吸吸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

8
 楼主| 发表于 2016-6-3 01:45:15 | 显示全部楼层
lucy94920 发表于 2016-6-2 15:34
_(:з」∠)_楼主又是我。。。
琢磨了一下现在能做出这种效果了(没有头像图是故意的
[fold=图][/fold]

在不使用fuki的情况下,对话框高度是
上边距+可显示行数*行高+下边距
所以如果改上边距的话,对话框肯定会更高。这算法是mv默认的,所以需要你在作图的时候计算好这些东西。

头像应该是可以的呀,在ShowMessageEx的Text Window Meta里面写json就可以,直接在皮肤的json里面改也可以
{"portrait": {        "indent": 80,        "spacing": 80,        "distanceToBottom": 20      }}
用这个之后  效果


切换皮肤这个按理说我应该写插件命令,但是因为太懒了没写
目前可以直接修改这俩来
TWDP.SME.param.textWindowSkin
TWDP.SME.param.textWindowSkinNoneFuki
上面是fuki的皮肤,
下面是非fuki的皮肤
类似这样用

点评

我也是被对话框背景问题困扰好久,一度导致弃用...谢谢大神解答,有时间再研究几天怎么写程序(#强迫美工学程序系列#)  发表于 2017-11-1 10:56
好的!!大感谢> <我再去试一下!  发表于 2016-6-3 09:41
吸吸
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-8 00:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表