SEP Window_Message XP对话窗口增强组件 v1.1:代码有近2200行,只贴注释好了,剩下的见范例工程。
更新:
v1.1
1. 增添了\~控制符,可以立即清除一切格式更改(包括颜色),恢复到默认的字体格式。
2. 增加了几个方便的宏替换操作,原理同1.0版的\Cn[str]一样。
3. 现在可以用-1\-2\-3这三个特殊值在\A控制符中,指定在头像、立绘上显示动画。
4. \^[0]可以用来禁用B键快速跳过本篇对话,强制显示关键对话。也可通过配置使跳过功能仅Debug模式可用。
5. 在显示有立绘的情况下,按A键可以暂时隐藏对话框,便于查看立绘,之后按A、B、C键均可恢复。
6. 窗口皮肤、色调和背景的不透明度可以自定义配置。默认与系统设置相同。
7. 优化了窗口进入和退出的效果,避免多段对话间不必要的延迟。
8. 在打字效果打开的情况下,文章翻页的效果可以改成逐行向上滚动(而不是暂停等待),由配置中的PAGE_EFFECT指定。
9. 在打字效果关闭的情况下,窗口会带字淡入,无字淡出,这同XP的默认效果保持一致。
其他修改(在窗口核心1.4 中):
1. 修正了\V[Pn]和\V[Tn]中n没有加1的问题,现在它们和\T及\P的n意义一致。
2. 修正了菜单状态窗口和对象状态窗口在人数不满4时行高错乱的问题。
3. 将原属于1.0对话窗口的控制符\* \_ \O(粗体、斜体、更改不透明度)以及新增的\~均改写到窗口底层,从而可以在对话窗口以外的窗口中使用(主要是在帮助窗口和对话窗口辅助的变量窗口中使用)。
4. 用HTML代码指定颜色现在不再需要(也不再允许)将前置#写作_,保留标准的#写法。
RUBY 代码
[code]#==============================================================================
# ■ 窗口增强-对话窗口 v1.1 by SailCat
#------------------------------------------------------------------------------
# 方法:本脚本插入到Main之前使用,并依赖以下脚本:
# 依赖:窗口增强系统核心插件
# 版本:v1.1 (Build 180107)
# 效果:
# 1. 对话框逐字输出效果
# 2. 对话框控制功能增强
# 3. 对话框长文章显示支援
# 4. 手工续行和手工换行支援
# 配置:
# 1. 效果配置项
# 2. 脸图/立绘默认路径配置项
# 3. 自定义宏替换控制符配置项
# 冲突:其他同类脚本
# 说明:
# 1. 对话框逐字输出效果:默认开启,每帧显示1个字符。
# 如果要调整速度,请更改配置项中DEFAULT_TYPE_SPEED的值。
# 该值的含义为每隔n帧显示一个字符,如设为-1则会关闭逐字输出。
# 在逐字输出过程中,按C键可快速显示至页末,按B键可立即关闭本篇对话。
# 2. 对话框控制功能增强,支持窗口增强系统核心插件追加的全部控制符。
# 并额外支持下列控制符(以下除非特殊说明,“省略”参数连同括号省略):
# 1) 总括设置类(显示前解析,一段文章只解析一次,可写在文章任何位置)
# \G[n] 打开n号数据窗口,n的含义为:
# -1:步数;-2:游戏时间;-3:真实时间;0:金钱;正数:变量ID
# \L[str] 左侧显示文件名为str的立绘,str为数字取角色立绘
# \R[str] 同上,但是立绘在右侧显示
# \L或\R 清除立绘图像,文章结束也会自动清除
# \F[str] 显示文件名为str的头像,str为数字取角色头像
# \F 清除头像,文章结束也会自动清除
# \[str] 显示文字为str的人名框,str若省略(括号不省略)取本事件名称
# \1[str] 人名框以1号文字色显示,颜色数字可以为0-63
# \[ 清除人名框,文章结束也会自动清除
# \] 将头像和人名框改为靠右对齐(默认为靠左对齐)
# \@[n] 在位置n显示对话框,n的含义如下:
# 负数(战斗内外通用):
# -10:系统默认位置和尺寸;-5:对话框居于屏幕或战斗区正中
# -1~-9:对话框吸附到边角(方位如小键盘),其中-2和-8会拉长占满
# 正数(战斗中的情况):
# 0:跟随当前战斗者;1~4:跟随我方角色;101~108:跟随敌方角色
# 正数(战斗外的情况):
# 0:跟随主角;1~999:跟随对应事件;省略:跟随本事件
# 对话框跟随事件时,会依事件位置的改变,真时更新位置
# 若写成1000(战斗外)或省略n(战斗中),对话框会全屏无边显示
# 对话框的位置设置为-2、-8、-10以外的值时,会自动根据内容调整大小
# \^[n] 对话框全部显示完毕后,等n帧自动关闭,有输入等待时会失效
# 若设为0的话,不会自动关闭,但按B键快速跳过的功能失效
# 2) 文本替换类(显示前解析,直接替换文本的显示内容)
# \V[n:m] 替换为变量n的值,并按m位补前置零或套用m格式(不能嵌套使用)
# \ [n] 替换为连续的n个空格(控制码就是空格本身)
# \%[str] 将str作为脚本来执行并替换返回值,如执行失败则忽略
# \%{str} 同上,如果脚本中含有方括号可用此格式书写
# 其余替换类控制码可见窗口增强核心插件
# 3) 文本控制类(显示过程中实时解析)
# \, 停顿 1/4 秒(不随帧率变化)
# \; 停顿 1/2 秒(不随帧率变化)
# \. 停顿 1/1 秒(不随帧率变化)
# \Z[n] 停顿 n 帧(默认设置下20帧为1秒)
# \> 本行之后的内容快速显示至\