自定义编辑器

概述

自定义编辑器用于修改和扩展编辑器本身。

为了方便扩展编辑器以及打造游戏模板专属的编辑器,GC提供了一套完整的自定义编辑器解决方案。
我们通常看到的游戏模板都是使用系统模块 + 自定义编辑器 + 脚本程序编写好的一整套解决方案。
同时插件也可以携带相关的编辑器界面,以供他人使用时自带可视化的制作界面。

可视化制作自定义编辑器面板

允许用户可视化制作编辑器面板来扩展游戏编辑器。

可视化建立出来的编辑器会自动生成对应的代码或者API,以便直接访问调用或实现相应的功能。

  • 可视化制作属性以及对应的控件
  • 可视化编写依赖出现条件,支持脚本编写条件(如B组件需要当A组件的值为3时才出现)
  • 未来将支持完全编程的形式编写编辑器面板,对更加自由的编辑器面板制作提供支持(比如制作界面编辑器这样的面板)

编辑面板填入的数值代表的意义由制作者决定,并使用脚本来实现其功能(部分支持纯事件实现)。

alt text

自定义模块

自定义模块制作完成后即可在数据库中使用,可以看作是自定义的数据编辑器。

比如TBRPG-梦之剑中的角色、职业、技能、装备、道具、状态都是模板预先编写好的自定义模块

alt text

自定义数据结构

自定义数据结构一般配合自定义属性使用,有些属性并非单一的类型,

比如玩家的背包记录着玩家拥有的道具信息、数目和装备等信息,而非单指某个数值,这种复合的情况则可以使用自定义数据结构制作。

类似于属性类型:Object 而非基元的number、string、boolean类型

alt text

自定义世界设定

世界是指游戏中唯一的世界,世界是所有玩家共同的世界(单机内核只有一个玩家)。

通过可视化编辑器编辑世界的属性,以及通过脚本或事件实现世界属性的功能, 以便该游戏模板可以可视化调整相关的世界参数。

比如TBRPG-梦之剑中预设了战斗相关的参数以便作者能够可视化调整这些参数

alt text

自定义玩家设定

玩家是指游戏中玩家,每个玩家都对应一个玩家身份(单机内核只有一个玩家)。

通过可视化编辑器编辑玩家的属性,以及通过脚本实现玩家属性的功能,

以便该游戏模板可以可视化调整相关的玩家参数,设定后每个玩家都拥有这些属性。

比如TBRPG-梦之剑模板中预设了金币和背包、战斗相关属性,玩家则拥有了金币和背包以及战斗相关设定,
而这些属性之所以不是系统自带而是作为自定义属性是因为不是每个游戏都有金币和背包这些设定的,不同游戏有不同的设定。

alt text

自定义场景对象原型

场景对象原型是预先定义的一类对象,拥有自定义属性自定义显示对象以及绑定脚本

定义场景对象原型一般由高级开发人员制作,因为一般需要涉及到代码实现相关功能。

如果是为了拓展场景对象的属性,更加建议使用 自定义对象模块

alt text

自定义触发事件类别

自定义触发事件类别用于定义有哪些触发事件,以便制作者在这些事件页下编辑事件。

触发事件可以在场景、场景对象、界面上设置类别,

比如当鼠标点击场景对象时会触发的一种事件

alt text

自定义事件指令

用户可以自定义追加事件指令:可视化制作事件指令的编辑器,以及使用脚本编写相关的逻辑。

比如TBRPG-梦之剑模板追加了一些自定义的指令

alt text

自定义对象行为

支持制作自定义的场景对象行为并实时预览播放效果。

以下除更换行走图外均是自定义对象行为命令

alt text

自定义条件分歧

除了系统给与的几种条件分歧类别外,还支持自定义的条件分歧。

不同的项目(模板)可能会有不同的自定义条件分歧。

比如TBRPG-梦之剑中提供了几种自定义的条件分歧,以便做出更多与该模板相关的判定

alt text

自定义游戏数值

自定义游戏数值一般用于制作跟该游戏(模板)相关的数值。

比如玩家拥有的金币数。

不同的项目(模板)可能会有不同的自定义游戏数值。

该数值可用于使用变量记录,或判断,或是直接显示在界面中(【游戏数值组件】)。

从程序角度上来说,自定义游戏数值相当于一个可带入参数的函数,返回结果是数值。

比如TBRPG-梦之剑中提供了一些自定义的游戏数值,以便获取、判断和显示

alt text

自定义游戏字符串

自定义游戏字符串一般用于制作跟该游戏(模板)相关的字符串。

不同的项目(模板)可能会有不同的自定义游戏字符串。

该字符串可用于使用变量记录,或判断,或是直接显示在界面中(【游戏字符串组件】)。

从程序角度上来说,自定义游戏字符串相当于一个可带入参数的函数,返回结果是字符串。

alt text

自定义对象模块

场景对象模块属于可组装式的组件,当场景对象拥有某一个模块时,即拥有了该模块的特性。

包含了属性、显示对象、绑定的脚本、编辑器预览

alt text

自定义材质

材质系统用于给目标添加「材质特效」,如色调、模糊、扭曲等效果。

材质会消耗较多的性能,请根据情况合理使用。

更多请参考材质


Copyright © 2021 - 2025