Edit
自定义编辑面板
自定义编辑面板允许用户可视化制作编辑器面板来扩展游戏编辑器。
自定义编辑面板允许用户可视化制作编辑器面板来扩展游戏编辑器。
可视化建立出来的编辑器会自动生成对应的代码或者API,以便直接访问调用或实现相应的功能。
- 可视化制作属性以及对应的控件
- 可视化编写依赖出现条件,支持脚本编写条件(如B组件需要当A组件的值为3时才出现)
- 未来将支持完全编程的形式编写编辑器面板,对更加自由的编辑器面板制作提供支持(比如制作界面编辑器这样的面板)
而编辑面板填入的数值代表的意义由制作者决定,并使用脚本来实现其功能(部分支持纯事件实现)。
区域说明
#1 | 块分类管理 |
#2 | 工作区域 |
#3 | 变量列表 |
#3 | 属性面板 |
区域 | 说明 |
---|---|
块管理 | 用于管理块,运行时面板会按照块的排列自上而下显示 |
工作区域 | 用于预览和操作变量对应的组件位置和尺寸 |
变量列表 | 用于管理该系统用到的变量,当前显示的是对应块的变量 |
属性面板 | 用于编辑块的属性或是变量的属性 |
块管理
运行时面板会按照块的排列自上而下显示,如图
每个块内可包含多个变量(组件)。
块实际运行时会根据依赖条件出现或隐藏。
操作 | 说明 |
---|---|
块管理 | 用于管理块,运行时面板会按照块的排列自上而下显示 |
新增 | 点击+号即可新增一个块 |
调整位置 | 位置影响实际运行时的排列顺序键盘操作 ALT+上方向键、ALT+下方向键鼠标操作 拖拽调整位置,或鼠标右键菜单选择上移和下移 |
删除 | 鼠标右键菜单选择删除 |
工作区域
用于预览和操作变量对应的组件位置和尺寸。
视图区域操作
操作 | 说明 |
---|---|
缩放视图区域 | 鼠标滚轮缩放视图区域,快捷键Z还原至100%显示 |
移动视图区域 | 方法一 鼠标右键(或中键)按下后移动鼠标即可移动视图区域方法二 按住空格键+鼠标左键拖拽工作区域 |
背景色调整 | 点击上方颜色图标后打开【颜色拾取器】后可调整颜色 |
对象操作工具
操作 | 说明 |
---|---|
选中组件 | 鼠标左键单击对应的组件,隐藏或锁定的组件无法被选中 |
移动已选中组件 | 键盘控制 方向键移动1像素 或 SHIFT+方向键移动10像素鼠标操作 拖拽组件属性面板操作 通过设置属性面板中的x和y移动组件 |
修改尺寸 | 鼠标操作 拖拽组件选框的矩形小块,其中右下方的矩形小块在按住SHIFT时会等比缩放属性面板操作 通过设置属性面板中的宽度/高度 |
变量列表
变量一般用于绑定组件,具体的作用由制作者决定。
操作 | 说明 |
---|---|
选中 | 左键单击选中,选中后可操作其属性 |
新增 | 点击上方+号即可新增一个变量 |
复制 | 键盘控制 CTRL+C鼠标操作 鼠标右键菜单,选择复制 |
粘贴 | 键盘控制 CTRL+V鼠标操作 鼠标右键菜单,选择粘贴 |
剪切 | 键盘控制 CTRL+X鼠标操作 鼠标右键菜单,选择剪切 |
调整位置 | 位置影响实际运行时的排列顺序键盘操作 ALT+上方向键、ALT+下方向键鼠标操作 拖拽调整位置,或鼠标右键菜单选择上移和下移 |
删除 | 鼠标右键菜单选择删除 |
属性面板
用于编辑块的属性或是变量的属性。
块属性
操作 | 说明 |
---|---|
块名称 | 用于显示块的标题名称 |
块高度 | 用于决定该块的总高度 |
隐藏块标题 | 勾选此项后将不再显示块标题 |
命令颜色 | 仅自定义指令拥有的属性设置,用于显示在事件页中的文字颜色 |
变量属性
操作 | 说明 |
---|---|
属性变量名 | 该属性的变量名称,系统生成的代码或API会根据该名称生成 |
别名 | 用于面板中显示的名称 |
x | 对应组件的水平坐标 |
y | 对应组件的垂直坐标 |
width | 对应组件的宽度 |
height | 对应组件的高度 |
隐藏属性 | 不在面板中显示,无需对应特定的组件 |
隐藏命令行描述 | 勾选此项会在事件命令行描述时隐藏该属性的描述(自定义短语除外) |
属性说明设置 | 设置该组件鼠标悬停时的说明文本 |
数据类型 | 数值 Number 该变量的值类型为数值类型,用于储存数字字符串 String 该变量的值类型为字符串类型,用于储存文本布尔值 Boolean 该变量的值类型为布尔值类型,用于储存真(true)或假(false)状态自定义数据结构 该变量的值类型为复合类型,用于储存更加复杂的类型,如包含1个数值变量、2个字符串变量和3个布尔值变量自定义模块 对应预设好的自定义模块,如角色、道具等,在勾选了引用时表示数值类型,否则是复合类型 数组 勾选数组模式后则表示带有多个以上类型的数据 |
默认值 | 该变量的初始值。 布尔值输入0表示false,1表示true |
选择数据结构 | 当数据类型是自定义数据结构时可选择一个数据结构,在选择时候允许编辑 |
选择模块 | 当数据类型是自定义模块时可选择一个模块 |
仅引用 | 当数据类型是自定义模块时可选择仅引用模式,实际数据类型变为数值,表示指向模块内数据的的ID,比如道具模块的3号道具-黑之书 |
数组模式 | 勾选数组模式后则表示可装载一组当前设定类型的数据 |
仅供配置 | 表示该与存档无关,总是根据当前最新的配置数据决定 比如世界设定中的某些属性是只用于配置的而非需要储存 |
标题自动宽度 | 勾选此项讲根据标题名长度自动决定组件的位置,否则根据【标题宽度】决定。 |
客户端脚本显示 | 仅网络版 勾选此项该变量可出现在客户端脚本中访问,以便获得代码提示。 |
筛选数据同步 | 仅网络版 可根据此项筛选同步客户端的属性:世界属性 玩家登录时客户端自动同步允许同步的属性玩家以及其场景对象属性 可根据ServerPlayer.syncClientData根据参数筛选允许同步的属性手动同步给客户端,比如用于实现同步给自己的是全属性,而同步给其他玩家的是仅允许同步的属性 |
依赖条件
依赖条件表示根据已有的组件的值来决定改组件或块是否显示。
目前支持根据该数据下组件中的下拉框和复选框的值来决定是否显示。
如果添加多个条件则必须满足所有条件才允许出现:
- 普通条件:使用简单的组件当前值来进行判定。
- 表达式条件:使用脚本编辑,支持任意表达式。
根据属性名称值编写条件表达式(目前支持选择框和复选框),如: (attrs.xxx>5 && attrs.yyy<=10) || attrs.zzz==6;
编辑器控件 当变量是数值/布尔值/字符串类型时可选择一个组件,用于用户操作来设置它的值。 并且数据类型会根据最终选中的编辑器控件自动修正,如选择文本输入框时,变量类型会自动修正为字符串类型。
编辑器控件 | 对应类型 | 说明 |
---|---|---|
0-数值框 | number | 用于输入数值,拖动组件标题文本可以快速增加或减少数值。 配置参数:下限值、上限值、步进刻度值、是否限制为整数、锁定文本的上下限、允许x方向拖拽、允许y方向拖拽 |
1-数值滑块 | number | 用于拖动滑块以及输入数字来调整数值。 配置参数:下限值、上限值、步进刻度值、是否限制为整数、锁定文本的上下限 |
2-选择框 | number | 用于拖动滑块以及输入数字来调整数值。 选项:使用逗号隔开,如:项1,选项2,选项3 显示索引:勾选此项后组件会自动在项名前面显示编号,如1-XXX |
3-选择行走图 | number | 用于选择数据库中预设好的一个行走图数据编号 |
4-选择动画 | number | 用于选择数据库中预设好的一个动画数据编号 |
5-选择界面 | number | 用于选择数据库中预设好的一个界面数据编号 |
6-数值变量控件 | number | 用于选择玩家数值变量编号 |
7-开关变量控件 | number | 用于选择玩家开关变量编号 |
8-字符串变量控件 | number | 用于选择玩家字符串变量编号 |
9-单行文本 | string | 用于输入任意文本的组件 |
10-支持玩家字符串变量的单行文本 | string | 用于输入文本或选定字符串变量编号 $5表示5号字符串 |
11-多行文本 | string | 用于输入多行的文本 |
12-颜色拾取器 | string | 用于打开颜色拾取器以便选择颜色 |
13-图片选择控件 | string | 用于选择一张图片,得到图片相对路径,如asset/image/abc.png |
14-支持玩家字符串变量的图片选择 | string | 选定一张图片或使用字符串指定路径,如asset/image/abc.png 或 $5(5表示5号字符串变量) |
15-复选框 | boolean | 用于确认true或false状态的勾选项 |
16-全局/二周目数值变量 | number | 指定全局/二周目数值变量的编号 |
17-全局/二周目开关 | number | 指定全局/二周目开关的编号 |
18-全局/二周目字符串 | number | 指定全局/二周目字符串的编号 |
19-BGM选择 | string | 选择一首背景音乐文件获得相对路径,如asset/audio/bgm/abc.mp3 |
20-SE选择 | string | 选择音效文件获得相对路径,如asset/audio/se/abc.mp3 |
21-行走图动作选择 | number | 从行走图动作列表中选择一个动作编号 |
22-图片预览选择组件 | string | 选择一张图片获得其相对路径,并可以显示图片 |
23-行走图预览选择组件 | number | 选择一个行走图获得其编号,并可以显示行走图 |
24-动画预览选择组件 | number | 选择一个动画获得其编号,并可以显示动画 |
25-公共事件选择组件 | number | 选择一个公共事件获得其编号 |
26-对话框样式选择组件 | number | 选择一个对话框样式获得其编号 |
27-按键组件 | number | 让用户输入一个按键并获取其按键码,按键码参考 KeyBoard |
28-九宫格设置 | string | 打开九宫格编辑器并获取设置后的信息,格式:0,0,0,0,0 上边距,右边距,下边距,左边距,是否平铺 |
29-选择立绘控件 | number | 选择一个立绘并获得其编号 |
30-选择立绘表情 | number | 从立绘表情列表中选择一个表情编号 |
31-立绘预览控件 | number | 选择一个立绘获得其编号,并可以显示立绘 |
32-Label | string | 仅用于面板中显示的文本 |
33-Legend | string | 仅用于面板中显示包围框,并可以显示文本标题 |
34-曲线编辑器 | string | 打开曲线编辑器编辑后获得成长关系数据。 |
35-事件片段页 | string | 打开一个事件页片段进行编辑,可使用CommandPage.startTriggerFragmentEvent方法执行 |
36-自定义游戏数值 | string | 用于打开自定义游戏数值选择,获取用户选定的游戏数值类别和参数,以便计算值。 目前系统内部的界面组件游戏数值组件用到了。 数据格式:自定义游戏数据显示ID:number,objValue:any,idValue:any 调用方法获取数值:CumtomGameNumber["f" + 自定义游戏数据显示ID](null,objValue) |
37-图块选择 | number | 选择一个图块素材并获得其编号 |
38-自动元件选择 | number | 选择一个自动原件素材并获得其编号 |
39-地图编号选择 | number | 选择一张地图并获得其编号 |
40-行为编辑器 | string | 用于打开一个行为编辑器编辑完成后获取其数据 使用SceneObjectBehaviors.toBehaviorData进行解析, 解析后可使用SceneObjectEntity的addBehavior添加行为 |
41-过渡组件 | string | 使用方式: 1.使用GameUtils.getTransData进行解析成Object数据。 2.使用GameUtils.getValueByTransData计算出进度(0%~100%)中的具体数值。 比如: // 转换数据 let transData = GameUtils.getTransData(transString); // 计算35%时的具体值 let value = GameUtils.getValueByTransData(transData,0.35); |
42-移动界面组件的组件 | object | 参考《苍之羽》-移动界面元件 CustomCommand2::customCommand_3013 |
43-材质编辑器 | object | 格式:{ materials: MaterialData } MaterialData 材质基类,所有生成的材质都继承于它 |
44-选择材质 | number | 选择一个材质并获得其编号 |
45-选择模块类别 | number | 选择一个模块并获得其编号 |
46-选择界面组件(属性) | object | 格式:{ uiID: number, compName:string, compID:string, varName:string } uiID = 界面编号 compName = 组件名称 compID = 组件唯一编号 varName = 组件变量名称 |
47-选择行走图部件 | number | 选择一个行走图的部件并获得其编号 |
48-选择立绘部件 | number | 选择一个立绘的部件并获得其编号 |
49-格子数据图 | object | 格式:{ mode: number, size: number, gridData: number[] } mode:模式 size:格子尺寸 gridData:格子数据 |
50-自定义游戏开关(条件分歧) | object | 格式:number, any, any 0:自定义游戏开关ID 1:保留的 2自定义游戏数据:{ varName: string: { varType: number, value: any, copy: boolean } } |
51-自定义游戏字符串 | object | 格式:number, any, any 0:自定义字符串ID 默认值1 1:保留的 2自定义字符串数据:{ varName: string: { varType: number, value: any, copy: boolean } } |
52-选择场景对象模块 | number | 选择一个对象的模块并获得其编号 |
53-移动对话框组件的组件 | object | 类型:{ id: number, atts: any, time: number, transitionMode: string, nonTweenType: number, mode: number } id 对话框ID atts 属性集合 time 过渡时间 transitionMode 过渡方式 nonTweenType 无法渐变过渡的属性处理方式 mode 类型(立即,渐变) |
54-自定义模块(属性) | object | CustomCompData |
55-自定义世界设定(属性) | object | CustomCompData |
56-自定义玩家设定(属性) | object | CustomCompData |
57-自定义场景对象(属性) | object | CustomCompData |
58-自定义场景对象模块(属性) | object | CustomCompData |