使用godotjs4.6和typescript,完成社区教学项目(原项目地址:https://www.bilibili.com/video/BV1QLqQB9Ecv?spm_id_from=333.788.videopod.sections&vd_source=d755387c33b9e736f598dda90f3fe4c5 )
- 安装godotjs4.6dev (https://godotjs.github.io/documentation/getting-started/)
- 安装node.js (https://nodejs.org/en/download)
- 四向移动:玩家可以在2D环境中向东南西北四个方向自由移动
- 动画系统:根据移动方向播放对应的待机动画(idle)和移动动画(move)
- 攻击系统:玩家可以发动攻击,攻击时有独立的攻击动画和冷却时间(0.5秒)
- 智能碰撞:攻击区域会根据玩家朝向自动旋转,并调整碰撞范围大小
- 伤害计算:玩家攻击时会对攻击范围内的所有敌人造成伤害
- 区域检测:使用Area2D节点实现攻击区域的实时检测
- 多目标攻击:支持同时攻击范围内的多个敌人
- 生命系统:每个敌人都有独立的生命值,受到攻击后会扣除相应血量
- 追逐行为:当玩家进入敌人的检测区域时,敌人会自动追逐玩家
- 方向判断:敌人会根据与玩家的相对位置自动判断移动方向(东南西北)
- 脱离追逐:当玩家离开敌人的检测区域后,敌人会停止追逐并恢复待机状态
- 死亡判定:当敌人生命值降为0时,自动触发死亡状态
- 死亡动画:播放死亡动画(death),并在动画播放完成后移除敌人节点
- 状态机:玩家和敌人都实现了完整的状态机(idle、move、attack、death)
- 方向处理:支持四个方向的动画播放,西方向通过翻转实现
- 状态切换:根据速度、输入等条件自动切换状态
- 异步处理:死亡动画使用异步等待,确保动画完整播放

