返回首页

JS 六边形战斗引擎:精灵和动画

JavaScript 上的精灵引擎实现六边形网格战术战斗,包含单位动画、寻路和跨平台控制。精灵由 AI 生成并后处理。计划包括战斗机制、AI 和 PvP。

JS 六边形战斗:带动画和 AI 艺术的引擎
Advertisement 728x90

基于JavaScript的六边形战术战斗引擎:精灵与动画实现

这款基于JavaScript的精灵引擎在点朝上的六边形网格(偶数行偏移)上实现流畅的单位动画、移动与交互。支持屏幕尺寸变化时的动态缩放,包括移动端旋转适配。高级API可轻松发出移动至目标六边形或攻击敌方单位等指令,无需深入底层逻辑。

底层功能涵盖切换精灵动画、平滑移动物体、将单位放置于六边形格子以及路径寻路。算法自动高亮可移动与可攻击的格子。动画包含行走、攻击、受伤和死亡状态——阵亡单位仍留在战场上。

不同动画根据情境自适应播放速度:静止状态较慢,而攻击等动态动作则更快,增强视觉节奏感。

Google AdInline article slot

桌面与移动端操作方式

单位移动:点击目标六边形后,路径自动高亮显示,如同经典《英雄无敌》类游戏。移动端无光标时,双击六边形确认选择。

攻击操作:点击敌方占据的六边形,系统展示可攻击位置。再次点击触发攻击;点击其他区域则取消选择。对于跨多格的单位,每个六边形划分为多个区域以消除歧义。优化建议:对敌方单位进行二次点击,从最近的有效格子发起攻击。

攻击时机附带50%概率直接击杀对手,提升战斗策略性。

Google AdInline article slot

AI生成精灵素材

所有精灵均通过ChatGPT生成(免费与付费版本效果一致)。背景完全由提示词驱动;精灵需后期处理:去除背景、居中调整、手动优化动画帧。

常见问题包括:

  • 行走循环中腿部交替动作缺失——需手动修正。
  • 精灵换手持武器(如精灵骑手)出现错位。
  • 弓箭手动画存在瑕疵:箭矢无弓或弓无弦。
  • 骑士死亡动画出现奇幻扭曲。
  • 图像上意外叠加文字。

修正提示无效,必须重新生成新会话。后期处理包括裁剪元素、旋转碎片、融合接缝。

Google AdInline article slot

未来开发路线图

下一步计划:

  • 单位属性(攻击、防御、生命值)、伤害计算公式、行动顺序机制(独立于速度,用于平衡,例如投石车)。
  • 将单位分组为矩形阵列,并添加健康条(使用DOM进度条组件)。
  • 悬停显示单位信息的工具提示。
  • 远程单位配备弹道动画(箭矢、石块、光束)。
  • 飞行单位可覆盖其他单位。
  • 为单人对战场景引入AI智能。
  • 基于客户端-服务器模型的联网PvP架构。
  • 支持两格攻击技能(如龙、独眼巨人)。

核心亮点

  • 点朝上偶数行偏移六边形网格,内置路径寻路与单位放置算法。
  • 自适应动画系统,支持变速播放与响应式缩放。
  • 跨平台控制:桌面端点击,移动端轻触/双击。
  • AI生成精灵,强制要求后期处理流程。
  • 高层级战术指令API,简化开发流程。

演示项目已部署于Netlify与itch.io。本项目聚焦战术对抗玩法,暂不包含完整战役模式。

— Editorial Team

Advertisement 728x90

继续阅读