Skip to content

RuoAnyi/ManTreeGrowth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ManTreeGrowth - 3D 水滴收集者

一个基于 Three.js 的 3D 网页小游戏。在开阔的 3D 场景中收集水滴,看着树木随着你的努力一步步成长。

玩法

  • 在场景中收集散落的水滴
  • 每收集一颗水滴,树木会生长一个阶段(共 7 个阶段)
  • 集齐所有水滴,树木完全成熟,获得胜利

支持两种树种:桃子树和橘子树,可在设置中切换。

操作方式

平台 操作
键盘移动 WASD方向键
跳跃 空格
疾跑 双击 W/ 后继续按住
视角旋转 鼠标拖拽 / 触屏滑动
指针锁定 操作体验

移动端支持虚拟摇杆和十字键盘两种触控方案,可在设置中切换。

运行方式

纯静态项目,无需安装依赖:

# 本地服务器(推荐,避免 ES Module 的 CORS 问题)
npx serve .

项目结构

├── index.html                  # 入口页面
├── src/
│   ├── main.js                 # 主逻辑(场景、游戏循环、UI)
│   ├── config/
│   │   ├── constants.js        # 游戏参数和树木配置
│   │   ├── constants.local.js  # 本地覆盖(gitignore)
│   │   └── timeouts.js         # 加载超时配置
│   ├── managers/
│   │   └── TreeManager.js      # 树模型管理(预加载、缓存、切换)
│   ├── loaders/
│   │   ├── FBXTreeLoader.js    # FBX 格式加载器
│   │   └── GLBTreeLoader.js    # GLB 格式加载器
│   ├── utils/
│   │   └── LoadingUtils.js     # 加载重试和降级逻辑
│   ├── objects/                # 3D 模型和纹理资源
│   │   ├── PeachTree/          # 桃子树模型(7 阶段)
│   │   ├── OrangeTree/         # 橘子树模型(7 阶段)
│   │   └── Man!/               # 角色模型
│   └── styles/
│       └── main.css            # UI 样式

配置

游戏参数在 src/config/constants.js 中定义。本地开发时创建 src/config/constants.local.js 覆盖默认值(不会提交到 git):

// 示例:替换模型路径为 CDN 地址
export const PEACH_TREE_CONFIG = {
    loaderType: 'fbx',
    stages: [
        { name: '种子期', model: 'https://your-cdn.com/PeachTree0.fbx', duration: 10 },
        // ...
    ]
};

技术栈

  • Three.js v0.128.0(CDN 加载)
  • 原生 ES Modules,无构建工具
  • 纯前端,无需后端服务

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors