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

Project1

 找回密码
 注册会员
搜索
查看: 43178|回复: 119
打印 上一主题 下一主题

[原创发布] 【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, 下载次数: 1433)

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

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

用法:
显示文章中:
显示文章里面使用以下控制符号
#{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, 下载次数: 818)
旧版本:
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
星屑
50
在线时间
40 小时
注册时间
2014-12-22
帖子
11
2
发表于 2015-12-21 00:23:58 | 只看该作者
终于有人做对话框了呢。
感谢楼主

点评

VIPArcher上個月己寫了一個http://rm.66rpg.com/forum.php?mod=viewthread&tid=387455&extra=page%3D2%26filter%3Dtypeid%26typeid%3D1306%26typeid%3D1306  发表于 2016-1-29 20:30
回复 支持 0 反对 1

使用道具 举报

Lv2.观梦者

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
帖子
839
3
发表于 2015-12-21 00:36:03 | 只看该作者
前排围观菊苣 回头测试
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
40 小时
注册时间
2014-12-22
帖子
11
4
发表于 2015-12-21 00:43:32 | 只看该作者
是{PM,文件名}还是{PM:文件名}
感觉图里的和说的用法不一样..所以是用哪种呢?.

点评

是冒号,通用语法是#{CODE:PARAM1,PARAM2}图里面是一起的语法,后来发现不需要就去掉了  发表于 2015-12-21 00:58

评分

参与人数 1星屑 +20 收起 理由
trentswd + 20 感谢报错

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
帖子
219
5
发表于 2015-12-21 01:09:12 | 只看该作者
被这个完美妇科天之痕的对话框惊艳到了,明天试试看

点评

完美妇科是什么鬼啦2333333  发表于 2015-12-22 10:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

开拓者

6
 楼主| 发表于 2015-12-21 22:30:42 | 只看该作者
更新
如果没有bug短时间应该就这样了……
吸吸
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3078
在线时间
764 小时
注册时间
2008-7-5
帖子
760
7
发表于 2015-12-22 10:45:03 | 只看该作者
这个对话框很好诶~先马克~回家再用~
阿姨我还未填平坑.....
自己是“擅长美工的笨蛋策划在干着程序的活”
  
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3820
在线时间
831 小时
注册时间
2013-7-29
帖子
161

开拓者

8
发表于 2015-12-22 13:15:17 手机端发表。 | 只看该作者

点评

厉害,看上去就是 高大上。手机端可能没打出字。  发表于 2015-12-24 16:06
?  发表于 2015-12-22 20:46
回复 支持 0 反对 1

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
232 小时
注册时间
2014-8-1
帖子
144

开拓者

9
发表于 2016-1-29 19:45:12 | 只看该作者
我只要简单的显示图片和变量和自动换行怎么弄啊,我看的有些复杂
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
26 小时
注册时间
2014-12-10
帖子
30
10
发表于 2016-1-30 15:02:33 | 只看该作者
什么时候更新呀
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 08:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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