# Nexus Framework **Repository Path**: zhuqinhong/nexus-framework ## Basic Information - **Project Name**: Nexus Framework - **Description**: N E X U S ══════════ ‖ N X ‖ ══════════ Core Framework for Cocos Creator Nexus 意为"联结中心"—这正是本框架的设计哲学。我们相信优秀的游戏架构应该是模块化的、可观测的,且各模块间能高效通信的。Nexus Framework 为 Cocos Creator 提供了一套优雅的解决方案 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-12-13 - **Last Updated**: 2026-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cocos Creator 3.8.7 游戏框架架构 ## 整体架构设计 ### 1. 架构概述 本框架采用模块化、分层设计理念,旨在提供一个高效、灵活、可扩展的Cocos Creator 3.8.7游戏开发基础架构。主要包括以下核心模块: - **Core**: 框架核心,包含工具类、常量定义、事件系统等 - **UI**: 界面管理系统 - **Asset**: 资源管理系统 - **Network**: 网络通信系统 - **Game**: 游戏逻辑层 - **Util**: 工具类集合 ### 2. 设计原则 - **模块化**: 各功能模块低耦合、高内聚 - **单例模式**: 核心管理器采用单例模式 - **观察者模式**: 事件系统采用观察者模式 - **工厂模式**: 界面和对象创建采用工厂模式 - **依赖注入**: 模块间依赖通过注入方式管理 - **可扩展性**: 预留插件系统接口 ### 3. 目录结构 ``` src/ ├── core/ # 框架核心 │ ├── framework/ # 框架基础类 │ ├── event/ # 事件系统 │ └── manager/ # 核心管理器 ├── ui/ # 界面管理系统 │ ├── components/ # UI组件 │ ├── layers/ # 界面层级 │ ├── panels/ # 界面面板 │ └── manager/ # UI管理器 ├── asset/ # 资源管理系统 │ ├── loader/ # 资源加载器 │ ├── cache/ # 资源缓存 │ └── manager/ # 资源管理器 ├── network/ # 网络通信系统 │ ├── ws/ # WebSocket模块 │ ├── http/ # HTTP模块 │ ├── protobuf/ # 协议处理 │ └── manager/ # 网络管理器 ├── game/ # 游戏逻辑层 │ ├── config/ # 游戏配置 │ ├── model/ # 数据模型 │ ├── logic/ # 业务逻辑 │ └── manager/ # 游戏管理器 └── util/ # 工具类 ├── logger/ # 日志工具 ├── pool/ # 对象池 ├── timer/ # 定时器 └── crypto/ # 加密工具 ``` ### 4. 核心模块说明 #### 4.1 Core 模块 核心模块提供框架的基础功能,包括: - 全局事件系统 - 模块管理器 - 生命周期管理 - 全局配置 #### 4.2 UI 模块 界面管理系统负责游戏中所有UI的创建、显示、隐藏和销毁,提供: - 多层级UI管理 - UI缓存池 - 界面过渡动画 - 自动内存管理 #### 4.3 Asset 模块 资源管理系统优化Cocos Creator的资源加载和释放流程: - 资源预加载 - 智能缓存 - 引用计数 - 自动释放 #### 4.4 Network 模块 网络通信系统封装了WebSocket和HTTP请求: - 自动重连机制 - 消息队列管理 - 协议编解码 - 网络状态监控 ### 5. 使用方法 1. 将本框架导入到Cocos Creator项目中 2. 在主场景中初始化框架 3. 按照各模块的API进行开发 ## 版本信息 - 框架版本: 1.0.0 - 支持引擎: Cocos Creator 3.8.7 - 支持平台: Web、iOS、Android、微信小游戏等 ## 关于 cc 模块的使用 **重要说明:** 在Cocos Creator项目中,`cc`对象是由Cocos Creator引擎在运行时注入到全局window对象中的,而不是通过npm包的方式引入。 ### 常见问题解答 #### 为什么项目中引用不到cc对象? 1. **cc对象的来源** - `cc`对象不是npm包,直接使用`npm install cc`安装的包并不能提供Cocos Creator引擎的功能 - 在Cocos Creator编辑器中运行时,`cc`对象会自动可用 - 在构建后的游戏环境中,`cc`对象会被注入到全局window对象中 2. **TypeScript类型支持** - 框架中已添加了`window.cc`的全局类型声明 - 在`AssetManager.ts`中可以看到相关声明: ```typescript declare global { interface Window { cc: any; } } ``` - 代码中包含运行时检查,确保在cc对象可用时才使用相关功能 3. **正确的使用方式** - 在Cocos Creator编辑器中打开和开发项目 - 在游戏运行时直接使用全局的cc对象 - 不要尝试通过npm包或其他方式模拟cc对象 4. **开发环境设置** - 安装TypeScript依赖:`npm install typescript --save-dev` - 确保在tsconfig.json中包含dom库 - 在Cocos Creator中开发时,TypeScript会自动识别cc对象的类型 ### 依赖安装 ```bash npm install ``` 项目依赖包括: - protobufjs: 用于协议处理 - typescript: 开发时需要 - @types/protobufjs: TypeScript类型支持