Bladecoder Adventure Engine扩展性实战:自定义Action、UI界面与Spine插件开发清单

📅 2026/8/24 17:02:03
Bladecoder Adventure Engine扩展性实战:自定义Action、UI界面与Spine插件开发清单
Bladecoder Adventure Engine扩展性实战自定义Action、UI界面与Spine插件开发清单【免费下载链接】bladecoder-adventure-engineClassic point and click adventure game engine and editor项目地址: https://gitcode.com/gh_mirrors/bl/bladecoder-adventure-engineBladecoder Adventure Engine 是一款经典的点击式冒险游戏引擎与可视化编辑器支持 Android、iOS 和桌面平台。它的最大亮点是扩展性强你可以不改动引擎核心通过自定义 Action 扩展剧情逻辑、用 BladeSkin 替换 UI 界面皮肤、加载 Spine 插件获得骨骼动画能力。本文面向新手给你一份开箱即用的扩展开发清单。项目结构速览三大模块各管一摊动手之前先搞清楚代码在哪里。整个仓库分为三个模块模块路径职责图形化编辑器adventure-editor/可视化创建场景、角色、对话与动词游戏引擎blade-engine/运行时Action、模型、UI、寻路、序列化Spine 插件blade-engine-spine-plugin/骨骼动画渲染与 Spine 专属 Action核心逻辑集中在blade-engine/src/com/bladecoder/engine/下按actions/动作、model/世界模型、ui/界面、anim/补间动画划分目录即地图新手按包名找代码非常顺手。清单一自定义 Action 开发引擎扩展性核心Adventure Engine 的剧情驱动单元是Action——从移动到、等待、播放音乐到 Ink 叙事变量全部由 Action 表达。想加自己的逻辑比如扣血存档只需实现Action接口两个方法就够了init(World w)注入世界对象依赖run(VerbRunner cb)执行动作返回true表示挂起等待回调cb.resume()。接口定义见 Action.java。以 WaitAction.java 为例类上标注ActionDescription(Pause the action)说明用途字段上标注ActionProperty(required true, defaultValue 1.0)声明可配置参数——这两个注解让 Action 在编辑器里自动出现无需手写任何 UI 代码。编辑器如何发现你的自定义 Action这是本引擎扩展性的精髓所在加载链路如下你的自定义 Action 编译进项目的core/build/classes/main目录编辑器用 FolderClassLoader.java 在该目录扫描并动态加载全部 class通过 Project.java 调用ActionFactory.setActionClassLoader(...)把加载器挂到引擎侧ActionDetector.java 遍历加载到的类凡带ActionDescription注解的自动注册进动作列表引擎侧 ActionFactory.java 在运行时按标签反射实例化并用ActionUtils.setParam回填参数。小贴士改完自定义 Action 源码后重新编译编辑器会调用FolderClassLoader.reload()热加载不用重启见 Project.java。清单二自定义 UI 界面BladeSkin 换肤指南引擎的 UI 基于 LibGDX 的 Skin 体系项目用 BladeSkin.java 扩展了原生Skin最实用的增强是TTF 字体支持——直接加载 TrueType 字体文件并按 pt 尺寸渲染省去了逐档生成 BitmapFont 的繁琐工作。换肤三步走准备素材九宫格切片.9.png 纹理图集 skin.json 描述文件放好目录编辑器自身的皮肤素材可参考adventure-editor/assets-raw/editor/BladeSkin/按钮、文本框、滚动条等全套切片游戏侧 UI 图集在adventure-editor/assets-raw/engine/ui-atlas/含pack.json打包清单界面层替换菜单、对话框、物品栏等界面集中在blade-engine/src/com/bladecoder/engine/ui/如DialogUI对话气泡、PieMenu环形菜单、InventoryUI物品栏、MenuScreen主菜单按需继承覆写即可。 上图为项目模板内置的环形菜单帮助画面可以看到 PieMenu 的圆形动作按钮布局——这是点击式冒险游戏最经典的查看/对话/拿起交互形态。清单三Spine 插件开发骨骼动画接入需要精细的骨骼动画如角色表情、肢体分离动画时官方 Spine 插件位于blade-engine-spine-plugin/结构非常清晰SpineRenderer.java继承引擎的AnimationRenderer负责骨骼渲染、动画事件监听播放动画/音效/触发动词/循环控制是插件接入引擎的桥梁类SkeletonDataLoader.java管理.skel骨架数据的加载与缓存避免重复解析SpineSkinAction.java 与 SpineSecondaryAnimationAction.javaSpine 专属 Action可在编辑器中直接切换角色皮肤、叠加次级动画如行走挥手插件说明文档见 README.md。接入方式遵循 LibGDX 插件惯例把插件加入 core 模块依赖在游戏的create()阶段把SpineRenderer替换到角色渲染链路即可。构建与调试5 条命令跑通全流程引擎与编辑器用 Gradle 统一管理根目录提供gradlew脚本克隆仓库git clone https://gitcode.com/gh_mirrors/bl/bladecoder-adventure-engine./gradlew build—— 编译全部模块./gradlew run—— 直接启动 Adventure Editor在编辑器中新建项目后自定义 Action 放到core/build/classes/main即可被识别用 CHANGELOG.md 对照版本更新关注blade-engine的 Action 与 UI 相关变更。总结扩展性开发检查清单实现Action接口init run并标注ActionDescription/ActionProperty编译产物放入core/build/classes/main让 FolderClassLoader 热加载UI 换肤准备 .9.png 切片 图集 skin.json利用 BladeSkin 的 TTF 字体能力需要骨骼动画时引入blade-engine-spine-plugin替换为 SpineRenderer全程用./gradlew build/run验证避免重启编辑器照着这份清单走完你就已经能像官方演示游戏 The Goddess Robbery 那样构建一个可发布到多平台的点击式冒险作品了。【免费下载链接】bladecoder-adventure-engineClassic point and click adventure game engine and editor项目地址: https://gitcode.com/gh_mirrors/bl/bladecoder-adventure-engine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考