-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Tian edited this page Feb 14, 2026
·
2 revisions
作者:Tian
Dvnge 是什么?
一个视觉小说引擎,由Tian基于
JavaScript创建,全平台通用。
怎么编写?
找到
Dvnge的章节文件夹,里面创建一个任意名称的.js文件,视觉小说就在里面使用类似json格式的代码编写。
创建完你的.js文件之后还要在TTQ视觉小说引擎.js文件里面的章节库常量中加入你的章节.js文件数据,代码如下:"你的章节名称": typeof 你的章节名称数据 !== 'undefined' ? 你的章节名称数据 : []
| 属性名 | 类型 | 说明 |
|---|---|---|
角色 |
字符串 | 说话角色名称 |
内容 |
字符串 | 对话内容 |
背景 |
字符串 | 背景图片路径 |
音乐 |
字符串 | 背景音乐路径 |
音效 |
字符串 | 音效路径 |
自动节点 |
数字 | 自动跳转时间(秒) |
自动存档 |
布尔 | 是否自动存档 |
目标 |
数字/对象 | 跳转目标 |
相关属性:立绘、左立绘、中立绘、右立绘、路径、隐藏
| 属性名 | 类型 | 说明 |
|---|---|---|
立绘 |
对象 | 立绘控制对象 |
左立绘 |
对象 | 左侧立绘配置 |
中立绘 |
对象 | 中间立绘配置 |
右立绘 |
对象 | 右侧立绘配置 |
路径 |
字符串 | 立绘图片路径 |
隐藏 |
布尔 | 是否隐藏立绘 |
示例
{
立绘: {
左立绘: {
路径: "images/角色1.png",
},
中立绘: {
路径: "images/角色2.png"
},
右立绘: {
隐藏: true
}
},
角色: "NPC",
内容: "对话内容"
}相关属性:选项、文本、目标、标签、条件、设置变量、解锁CG、否则目标
| 属性名 | 类型 | 说明 |
|---|---|---|
选项 |
数组 | 选项列表 |
文本 |
字符串 | 选项显示的文本 |
目标 |
数字/对象 | 跳转目标 |
标签 |
字符串 | 与 目标 功能相同,具体见下示例 |
条件 |
字符串 | 显示条件 |
设置变量 |
对象 | 选择后设置的变量 |
解锁CG |
对象 | 解锁的CG信息 |
否则目标 |
数字/对象 | 条件不满足时的跳转目标 |
示例
{
选项: [
{
文本: "选项1",
目标: 5, // v1.3.0 版本之后建议使用标签,使用方法见下。
设置变量: {
"变量名": "值"
}
},
{
文本: "选项2",
条件: "vars.变量名 === '值'",
目标: 10,
解锁CG: {
名称: "CG名称",
路径: "images/cg.png"
}
},
{
文本: "选项3",
条件: "vars.变量名 !== '值'",
目标: 15,
否则目标: 20
}
]
}标签使用示例
// 在要跳转的目标节点添加 "目标: '目标名称',",如:
{ 标签: '钕铜', 角色: 'Tian', 内容: '你成为了钕铜……'},
// 在跳转目标的选项中直接使用 "字串符" 类型跳转
{
内容: 'Tian:',
选项: [
{ 文本: '成为钕铜', 目标: '钕铜' }
]
},
// 或直接跳转的类型:
{ 目标: '钕铜'},相关属性:输入、变量名、占位符、最大长度、必填、提示文字、按钮文字、目标、标签
| 属性名 | 类型 | 说明 |
|---|---|---|
输入 |
对象 | 用户输入配置 |
变量名 |
字符串 | 存储输入的变量路径 |
占位符 |
字符串 | 输入框提示文字 |
最大长度 |
数字 | 最大输入长度 |
必填 |
布尔 | 是否必须输入 |
提示文字 |
字符串 | 输入说明文字 |
按钮文字 |
字符串 | 确认按钮文字 |
目标 |
数字 | 输入完成后的跳转目标 |
标签 |
字符串 | 与 目标 功能相同,具体见下示例 |
示例
{
角色: '请输入',// 必须要有一个角色或者内容
输入: {
变量名: "玩家名字",
占位符: "请输入名字",
最大长度: 10,
必填: true,
提示文字: "请输入2-10个字符",
按钮文字: "确定",
目标: 5// v1.3.1 版本之后可使用标签,使用方法参考**选项系统**的**标签使用示例**
}
}相关属性:条件、表达式、真目标、假目标
| 属性名 | 类型 | 说明 |
|---|---|---|
条件 |
对象 | 条件判断配置 |
表达式 |
字符串 | JS条件表达式 |
真目标 |
数字/对象 | 条件为真时的跳转目标 |
假目标 |
数字/对象 | 条件为假时的跳转目标 |
示例
{
条件: {
表达式: "vars.玩家金币 >= 100",
真目标: 10,// v1.3.1 版本之后可使用标签,使用方法参考**选项系统**的**标签使用示例**
假目标: 15
}
}相关属性:标题、显示、内容、位置、样式
| 属性名 | 类型 | 说明 |
|---|---|---|
标题 |
对象 | 屏幕标题显示 |
显示 |
布尔 | 用于下一对话隐藏标题 |
内容 |
字符串 | 标题文本 |
位置 |
字符串 | 标题位置 |
样式 |
对象 | CSS样式 |
示例
{
标题: {
内容: "第一章",
位置: "中",
样式: {color: "#ffffff", fontSize: "50px"}
}
},
{
标题: {
显示: false
}
}相关属性:跳转HTML、路径、参数、传递变量
| 属性名 | 类型 | 说明 |
|---|---|---|
跳转HTML |
对象 | 跳转到其他页面 |
路径 |
字符串 | 目标HTML文件路径 |
参数 |
字符串 | URL参数 |
传递变量 |
字符串/数组 | 要传递的变量名 |
示例
{
跳转HTML: {
路径: "next.html",
参数: "场景=2",
传递变量: ["玩家名字", "玩家等级"]
}
}相关属性:解锁CG、名称、路径
| 属性名 | 类型 | 说明 |
|---|---|---|
解锁CG |
对象 | 解锁CG收集 |
名称 |
字符串 | CG的唯一标识符 |
路径 |
字符串 | CG图片路径 |
示例
{
解锁CG: {
名称: "第一次去卢浮宫CG",
路径: "cg/CG1.png"
}
}相关属性:逐字显示、设置变量、启用、速度
| 属性名 | 类型 | 说明 |
|---|---|---|
逐字显示 |
对象 | 打字效果配置 |
启用 |
布尔 | 是否启用逐字显示 |
速度 |
数字 | 打字速度(毫秒/字) |
示例
{
逐字显示: {
启用: true,
速度: 50
}
}相关属性:设置变量
| 属性名 | 类型 | 说明 |
|---|---|---|
设置变量 |
对象 | 设置用户变量 |
示例
{
设置变量: {
"玩家金币": "+=100",
"玩家.经验": "+=50",
"任务状态": "已完成"
}
}| 功能 | 语法 | 说明 |
|---|---|---|
| 变量设置 | "变量名": "值" |
设置变量值 |
| 变量运算 | "变量名": "+=10" |
支持 +=, -=, *=, /= 运算 |
| 变量引用 | {变量名} |
在字符串中引用变量 |
| 变量路径 | "玩家.属性.值" |
支持多级路径 |
示例
{
角色: "{玩家名字}",
内容: "当前金币: {玩家金币}",
设置变量: {
"玩家金币": "+=50",
"玩家.等级": "+=1"
}
}| 属性 | 可选值 | 说明 |
|---|---|---|
| 标题位置 |
"上", "下", "左", "右", "左上", "左下", "右上", "右下", "中"
|
标题显示位置 |
| 跳转目标类型 | 数字或对象 | 数字: 当前章节内跳转; 对象: {章节: "名称", 索引: 数字}
|
| 功能 | 触发方式 | 说明 |
|---|---|---|
| 自动存档 | 自动存档: true |
在该节点自动保存进度 |
| 自动跳转 | 自动节点: 数字 |
等待指定秒数后自动跳转 |
| CG收集 | 解锁CG: {名称: "...", 路径: "..."} |
解锁CG到收集库 |
| 逐字显示 | 逐字显示: {启用: true, 速度: 数字} |
启用打字机效果 |
| 条件分支 | 条件: {表达式: "...", 真目标: ..., 假目标: ...} |
根据条件跳转 |
| 用户输入 | 输入: {变量名: "...", ...} |
收集用户输入 |
| 页面跳转 | 跳转HTML: {路径: "...", ...} |
跳转到其他HTML页面 |
| 变量设置 | 设置变量: {"变量路径": "值"} |
设置或修改变量 |
示例
{
自动存档: true,
自动节点: 3,
条件: {
表达式: "vars.玩家.声望 >= 50",
真目标: {章节: "第二章", 索引: 0},
假目标: 10
}
}