扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 132|回复: 0

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

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    2025-2-4 02:05
  • 签到天数: 110 天

    连续签到: 2 天

    [LV.6]常住居民II

    2327

    主题

    395

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10465
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13215

    灌水之王

    发表于 2024-11-21 23:45:15 | 显示全部楼层 |阅读模式
    2016-01-31 更新
    1 修正姓名框显示问题
    2 修正可能的小数坐标导致显示模糊的问题

    下载
    [attachments]0[/attachments]

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

    下载
    [attachments]1[/attachments]

    用法:
    显示文章中:
    显示文章里面使用以下控制符号
    #{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文件也有更新
    [attachments]2[/attachments]
    旧版本:
    [attachments]3[/attachments]

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

    问题反馈
    请回帖,附上F8控制台中的内容
                本帖来自P1论坛作者trentswd,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=387546  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-3-10 12:18 , Processed in 0.137424 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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