Skip to content

a435630144/my_godotjs_project_2Ddemo2

Repository files navigation

Godotjs 2D 游戏项目

使用godotjs4.6和typescript,完成社区教学项目(原项目地址:https://www.bilibili.com/video/BV1QLqQB9Ecv?spm_id_from=333.788.videopod.sections&vd_source=d755387c33b9e736f598dda90f3fe4c5

环境配置

游戏功能实现

1. 玩家控制系统

  • 四向移动:玩家可以在2D环境中向东南西北四个方向自由移动
  • 动画系统:根据移动方向播放对应的待机动画(idle)和移动动画(move)
  • 攻击系统:玩家可以发动攻击,攻击时有独立的攻击动画和冷却时间(0.5秒)
  • 智能碰撞:攻击区域会根据玩家朝向自动旋转,并调整碰撞范围大小

2. 战斗系统

  • 伤害计算:玩家攻击时会对攻击范围内的所有敌人造成伤害
  • 区域检测:使用Area2D节点实现攻击区域的实时检测
  • 多目标攻击:支持同时攻击范围内的多个敌人
  • 生命系统:每个敌人都有独立的生命值,受到攻击后会扣除相应血量

3. 敌人AI系统

  • 追逐行为:当玩家进入敌人的检测区域时,敌人会自动追逐玩家
  • 方向判断:敌人会根据与玩家的相对位置自动判断移动方向(东南西北)
  • 脱离追逐:当玩家离开敌人的检测区域后,敌人会停止追逐并恢复待机状态

4. 死亡系统

  • 死亡判定:当敌人生命值降为0时,自动触发死亡状态
  • 死亡动画:播放死亡动画(death),并在动画播放完成后移除敌人节点

5. 动画与状态管理

  • 状态机:玩家和敌人都实现了完整的状态机(idle、move、attack、death)
  • 方向处理:支持四个方向的动画播放,西方向通过翻转实现
  • 状态切换:根据速度、输入等条件自动切换状态
  • 异步处理:死亡动画使用异步等待,确保动画完整播放

项目运行

  1. 克隆项目到本地

  2. 进入项目目录

  3. 安装依赖

    npm install
    
  4. 在godotjs中开启实时自动编译 实时自动编译

  5. 可以在编辑器内直接运行游戏 运行游戏

About

Using godotjs to complete Community 2D Pixel Style RPG Game Demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors