在制作动作游戏时,需要一个轻量级可跨平台的行为树编辑器,有幸在github上找到了behavior3js这个项目。因为是用js写的,跨平台不在话下,比起其他C++等项目配置,运行和修改也都要简单很多。
先看看编辑器的外表
基本编辑,导入,导出功能都已经很完备了,只需稍加修改即可应用在自己的项目中了。
Add custom node 增加自定义节点
在helpers.js中加入如下代码
1 | app.helpers.addDynamicParameterRow = function(table, key, value) { |
这样我们就可以自定义节点的名称(对应类名)和标题(用于显示),并可以增加任意数量的参数,如下图所示:
Save and read custom nodes 存取自定义节点
大致看了一下代码,最后选择一个人偷懒的方法。清空编辑器,添加节点后,导出json,保存到工程本地,如下所示:
1 | customJson = |
之后在app.initializeEditor方法最后添加代码:
1 | app.view.importFromJSON(JSON.stringify(customJson)); |
这样每次初始化都会调用导入方法,把我们之前保存的自定义的节点加载进来。下面给出个最终效果图:
可以看到右侧还添加了说明,方便交给策划使用。
命令行启动
但是如果还需要搭建web服务器这样的操作才能使用还是不能让人满意的。
这里使用Node.js来方便建立web服务器,把node可执行文件放到目录下,大约5MB。建立一个run.js,代码如下:
1 | var PORT = 3002; |
之后建一个bat或command调用run.js
1 | start explorer http://localhost:3002/editor/index.html |
码完收工。