[关闭]
@VariableD 2014-07-10T13:00:15.000000Z 字数 4394 阅读 4856

NVLMaker

NVL界面数据说明(一)基础设定


(零)整体结构说明

(1)文件列表

下表列出了NVLMaker中界面数据文件的名字和它们对应的界面。

除了namelist是数组之外,其他的主结构都是字典,一个固定的name对应一个控件。
比较简单的控件例如“界面背景图”,name就是bgd,value就只有一个string,存储图片名。
比较复杂的控件例如“按钮”,name是代表它固定的功能,例如标题界面的start代表开始游戏按钮,它的value则是一个字典。

数据文件 对应界面
uititle 标题画面
setting 基础设定
uidia 对话界面(主界面)
uimenu 主选单界面
uioption 系统设置界面
uihistory 对话回顾界面
namelist 人物姓名、简称及对应颜色列表
uisave 保存游戏界面图素
uiload 读取游戏界面图素
uislpos 保存、读取游戏界面排版

(2)按钮控件的结构

所有类型为按钮的控件都有如下同样的参数。

请注意有些参数(例如enterse)并不强制用户填写,因此希望这部分能做到值为""或者不存在这个name时也不报错。
另外涉及坐标、边距的参数,大部分情况下应该是int,但有时候没转好也可能会是string,希望能自动转换。

name type 说明
use bool 0代表隐藏(不使用该功能),1代表显示
x int 按钮坐标x
y int 按钮坐标y
normal string 按钮-一般状态下的图片
over string 按钮-hover状态下的图片
on string 按钮-click状态下的图片
enterse string 按钮-hover状态时播放的音效
clickse string 按钮-click状态时播放的音效

(3)滑动槽控件的结构

所有类型为滑动槽的控件都有如下参数。

name type 说明
use bool 0代表隐藏(不使用该功能),1代表显示
x int 坐标x
y int 坐标y
base string 滑动槽底部图,用于展示滑动槽的长度
normal string 滑动按钮一般状态
over string 滑动按钮over状态
on string 滑动按钮click/drag状态

(一)标题画面uititle

(1)控件

name type 说明
logo string 游戏一开始显示的小组标志图片
bgd string 标题画面背景图
front string 标题画面前景图片(非必要,该name可能不存在)
bgm string 标题画面播放的背景音乐

(2)按钮

name type 说明
start 按钮 开始游戏
load 按钮 打开读取进度界面
exit 按钮 离开游戏
option 按钮 打开系统设定界面
extra 按钮 连接到玩家自定义脚本title_other.ks
omake 按钮 打开CG一览界面

(3)其他

以下为标题画面时播放的默认粒子效果,就先忽略吧。

name type 说明
rain bool 下雨效果,0为不使用,1为使用,下同
snow bool 下雪效果
sakura bool 樱花飘落效果
momiji bool 红叶飘落效果
movie bool 旧电影效果
firefly bool 萤火虫光点飘荡效果

(二)基础设定setting

(1)控件

基础设定包含的内容大部分是为了NVL编辑器读取方便,因此大部分数据和KRKR的Config.tjs相同。
但以下是比较特殊的内容需要读取,就是选择按钮的设定。
选择按钮包括两个部分,一个是按钮图片,一个是上面由玩家指定的选项文字。

name type 说明
selbutton dict 选项按钮的默认外观、音效
selfont dict 选择按钮的默认字体颜色、字号设定

①selbutton结构

name type 说明
normal string 按钮-一般状态下的图片
over string 按钮-hover状态下的图片
on string 按钮-click状态下的图片
enterse string 按钮-hover状态时播放的音效
clickse string 按钮-click状态时播放的音效

②selfont结构

name type 说明
normal string 按钮-一般状态下的文字颜色,为KRKR格式的0x000000,下同
over string 按钮-hover状态下的文字颜色
on string 按钮-click状态下的文字颜色
read string 按钮-既读文字颜色,指当玩家选过一次这个选项之后,按钮一般状态时会使用这个颜色代替normal的颜色
height string 文字字号,同样也是应该是int但是保存的是string

(三)对话画面uidia

就是进入游戏以后的画面,三种类型的文字框和头像位置、以及系统按钮都在这里设定。

(1)控件

name type 说明
dia 文字框 文字框1,可使用dia指令设定并显示,三种文字框共用message0层,所以同时只会出现一种
scr 文字框 文字框2
blank 透明文字框 特殊文字框
face 头像 记录人物头像显示的坐标,请注意这里的坐标记录的是头像图的底边中点位置,而非通常的左上角坐标

①文字框dia/scr控件结构

name type 说明
left int 左上点横坐标,注意这里是left/top不是x/y
top int 左上点纵坐标
frame string 文字框图片名
marginl int 左边距
marginr int 右边距
margint int 上边距
marginb int 下边距

②透明文字框blank控件结构

透明文字框无需指定坐标和图片,所以只有以下四个参数:

name type 说明
marginl int 左边距
marginr int 右边距
margint int 上边距
marginb int 下边距

③头像face控件结构

再次提醒,这个地方记录的是头像图的底边中点位置,而非通常的左上角坐标,
这样可以保证用户调用头像图片时不管图片本身的大小都能显示在正确位置。

name type 说明
left int 左上点横坐标,注意这里是left/top不是x/y
top int 左上点纵坐标

(2)按钮

此处的按钮其实是系统按钮sysbutton,功能不同,但控件结构和button相同。

name type 说明
save 按钮 打开保存游戏界面
load 按钮 打开读取进度界面
option 按钮 打开系统设定界面
history 按钮 打开对话回顾界面
menu 按钮 打开主选单
auto 按钮 游戏对话自动前进
skip 按钮 游戏对话框快速略过
hide 按钮 隐藏对话框,相当于对话画面上点右键的效果
other 按钮 连接到玩家自定义脚本other.ks

(四)主选单界面uimenu

从系统按钮menu可以连接到这个界面,非常简单,比标题画面还简单。

(1)控件&按钮

name type 说明
bgd string 主选单背景图
save 按钮 打开保存游戏界面
load 按钮 打开读取进度界面
option 按钮 打开系统设定界面
history 按钮 打开对话回顾界面
totitle 按钮 返回标题
exit 按钮 结束游戏
back 按钮 返回对话界面,与在此界面按右键功能相同
other 按钮 连接到玩家自定义脚本other.ks

(五)系统设置界面uioption

调整音量、文字速度等的界面。控件滑动槽只在此界面用到。

(1)控件

name type 说明
bgd string 界面背景图
textspeed 滑动槽 调整文字显示速度
autospeed 滑动槽 调整文字自动前进速度
bgmvolume 滑动槽 调整音乐音量
sevolume 滑动槽 调整音效音量(se buf=0)
cvvolume 滑动槽 调整语音音量(se buf=1)

(2)按钮

name type 说明
totitle 按钮 返回标题
endgame 按钮 结束游戏
reset 按钮 所有设定恢复默认值
back 按钮 返回之前界面,与在此界面按右键功能相同

(3)单选互斥按钮

以下四个按钮所需参数和其他按钮完全相同,但在游戏中表现时,显示为互斥。
即“当某个按钮被按下后,它将显示为over状态,同时点击该按钮不会发生任何效果”。

name type 说明
window 按钮 窗口化显示游戏
fullscreen 按钮 全屏化显示游戏
allskip 按钮 快速略过时,跳过全部对话
readskip 按钮 快速略过时,只跳过已读对话

(六)对话回顾界面uihistory

这个界面里面也有一些参数和Config.tjs是相同的,因此需要读取的是以下这些。

(1)控件

name type 说明
bgd string 界面背景图
marginl int 左边距,它和以下三个值划定了历史记录的文字显示范围
marginr int 右边距
margint int 上边距
marginb int 下边距
slider 滚动条 可通过拖动该滚动条来翻页,其实应该叫scroll的但是写错名字了(喂
up 按钮 向上翻页
down 按钮 向下翻页
back 按钮 返回之前界面,与在此界面按右键功能相同

①滚动条scroll控件结构

和滑动槽不同,滚动条的长、宽用来决定滚动按钮的位置,具体外观效果直接做到bgd内了。

name type 说明
use bool 0代表隐藏(不使用该功能),1代表显示
width int 滚动条宽度
height int 滚动条长度
normal string 滚动条上面标记当前位置和用于拖动的按钮一般状态下的图片
over string 按钮hover/drag状态下的图片

(七)主要人物名字列表namelist

人名列表是一个array,默认具有“主角”和“默认”两行。
“主角”为第一行,当使用 @主角 时,显示的是f.姓+f.名的值,同时取得这一行的color记录的值。
“默认”为第二行,只记录颜色(没有tag这个参数),为非重要角色的人物名颜色。
当使用 @npc id="路人甲"且未指定姓名颜色时,会调用这个颜色。

这个列表的作用是对应生成人物姓名宏,让游戏里在使用 @人物名 时,能够显示格式为【人物全名】的、特殊颜色的文字。

(1)一个人物名的结构

name type 说明
tag string 人物简称,也就是对应的TAG名,例如:马克思
name string 游戏中显示的全名,例如:卡尔·海因里希·马克思
color color 人物名字的颜色代码,这个颜色在对话和对话回顾部分都会表现出来

(八)其他

由于保存、读取部分界面比较复杂,新开一个文档说明。
由于CG一览界面涉及读取其他数据,新开一个文档说明。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注