diff --git a/Extra2D/src/app/application.cpp b/Extra2D/src/app/application.cpp index 4ce6877..2c7ee19 100644 --- a/Extra2D/src/app/application.cpp +++ b/Extra2D/src/app/application.cpp @@ -18,13 +18,13 @@ bool Application::init() { if (initialized_) return true; - E2D_INFO(CAT_APP, "Application initializing: {}", name); + E2D_INFO(CAT_APP, "应用程序初始化中:{}", name); ServiceLocator::instance().init(); window_ = new Window(); if (!window_->create({.title = name, .width = 1280, .height = 720})) { - E2D_ERROR(CAT_APP, "Failed to create window"); + E2D_ERROR(CAT_APP, "创建窗口失败"); delete window_; window_ = nullptr; return false; @@ -32,7 +32,7 @@ bool Application::init() { auto &device = RenderDevice::instance(); if (!device.init(window_->sdlWindow())) { - E2D_ERROR(CAT_APP, "Failed to initialize render device"); + E2D_ERROR(CAT_APP, "渲染设备初始化失败"); window_->destroy(); delete window_; window_ = nullptr; @@ -43,7 +43,7 @@ bool Application::init() { running_ = true; lastFrameTime_ = SDL_GetPerformanceCounter(); - E2D_INFO(CAT_APP, "Application initialized successfully"); + E2D_INFO(CAT_APP, "应用程序初始化成功"); return true; } @@ -51,7 +51,7 @@ void Application::shutdown() { if (!initialized_) return; - E2D_INFO(CAT_APP, "Application shutting down"); + E2D_INFO(CAT_APP, "应用程序正在关闭"); RenderDevice::instance().shutdown(); diff --git a/README.md b/README.md deleted file mode 100644 index 2deb948..0000000 --- a/README.md +++ /dev/null @@ -1,221 +0,0 @@ -
- -![Extra2D Logo](./logo/logo_text_dark.svg) - -

- - Release - - - License - - - Build Status - - - C++17 - - - Nintendo Switch - -

- -

- 🎮 专为 Nintendo Switch 打造的轻量级 2D 游戏引擎
- 高性能、易用、原生支持 Switch 平台 -

- -[📖 构建指南](./docs/Extra2D%20构建系统文档.md) | [🚀 快速开始](#快速开始) | [📦 示例程序](#示例程序) | [📚 API 教程](./docs/API_Tutorial/01_Quick_Start.md) - -
- ---- - -## 🌟 简介 - -**Extra2D** 是一个专为 **Nintendo Switch** 平台设计的轻量级 2D 游戏引擎,采用现代 C++17 架构,充分利用 Switch 硬件特性,为开发者提供流畅的游戏开发体验。 - -> 💡 Extra2D 的诞生是为了让 Switch 独立游戏开发变得更加简单高效。无论是复古风格的像素游戏,还是现代化的 2D 作品,Extra2D 都能提供强大的支持。 - -### ✨ 核心特性 - -- **🎯 Switch 原生支持**:专为 Nintendo Switch 硬件优化,支持掌机/主机双模式 -- **🎬 高级动画系统**:支持骨骼动画、精灵动画、补间动画 -- **🎵 音频系统**:基于 SDL2_mixer 的高质量音频播放,支持 BGM 和音效 -- **🎨 渲染系统**:基于 OpenGL ES 的 2D 渲染,支持自定义着色器 -- **💾 数据持久化**:游戏存档、配置文件的便捷读写 -- **🔧 空间索引**:内置四叉树和空间哈希碰撞检测系统 -- **🖱️ UI 系统**:完整的 UI 控件支持(按钮、文本、滑块等) - ---- - -## 🚀 快速开始 - -### 环境要求 - -| 组件 | 要求 | -|:----:|:-----| -| 开发环境 | devkitPro + devkitA64 (Switch) / MinGW-w64 (Windows) | -| C++ 标准 | C++17 | -| 构建工具 | xmake | -| 目标平台 | Nintendo Switch / Windows (MinGW) | - -### 安装 xmake - -```bash -# Windows (PowerShell) -Invoke-Expression (Invoke-WebRequest 'https://xmake.io/psget.text' -UseBasicParsing).Content - -# macOS -brew install xmake - -# Linux -sudo add-apt-repository ppa:xmake-io/xmake -sudo apt update -sudo apt install xmake -``` - -## 📚 文档 - -- [📖 API 教程](./docs/API_Tutorial/01_Quick_Start.md) - 完整的 API 使用教程 - - [01. 快速开始](./docs/API_Tutorial/01_Quick_Start.md) - - [02. 场景系统](./docs/API_Tutorial/02_Scene_System.md) - - [03. 节点系统](./docs/API_Tutorial/03_Node_System.md) - - [04. 资源管理](./docs/API_Tutorial/04_Resource_Management.md) - - [05. 输入处理](./docs/API_Tutorial/05_Input_Handling.md) - - [06. 碰撞检测](./docs/API_Tutorial/06_Collision_Detection.md) - - [07. UI 系统](./docs/API_Tutorial/07_UI_System.md) - - [08. 音频系统](./docs/API_Tutorial/08_Audio_System.md) -- [🔧 构建系统文档](./docs/Extra2D%20构建系统文档.md) - 详细的构建系统说明 - ---- - -## 🏗️ 架构概览 - -```mermaid -mindmap - root((Extra2D
引擎架构)) - 核心基础层 - 数学库 - 向量 Vec2/Vec3 - 矩形 Rect - 矩阵 glm::mat4 - 颜色 Color - 大小 Size - 类型系统 - 智能指针 Ptr/UniquePtr - 字符串 String - 平台抽象层 - 窗口管理 Window - 输入处理 Input - 键盘 Keyboard - 鼠标 Mouse - 手柄 Gamepad - 触摸 Touch - 输入码 InputCodes - 渲染系统 - 渲染后端 RenderBackend - OpenGL 实现 - GLRenderer - GLShader - GLTexture - GLSpriteBatch - 相机 Camera - 纹理 Texture - 字体 Font - 着色器系统 ShaderSystem - 渲染目标 RenderTarget - 场景系统 - 场景管理器 SceneManager - 场景 Scene - 过渡动画 Transition - 节点系统 Node - 精灵 Sprite - 动画精灵 AnimatedSprite - 形状 ShapeNode - 粒子系统 ParticleSystem - 空间索引 - 空间管理器 SpatialManager - 四叉树 QuadTree - 空间哈希 SpatialHash - 动画系统 - 动画控制器 AnimationController - 动画剪辑 AnimationClip - 关键帧 AnimationFrame - 插值引擎 InterpolationEngine - 精灵帧 SpriteFrame - 动作系统 - 动作基类 Action - 位移动作 MoveBy/MoveTo - 缩放动作 ScaleBy/ScaleTo - 旋转动作 RotateBy/RotateTo - 跳跃动作 JumpBy/JumpTo - 淡入淡出 FadeIn/FadeOut - 组合动作 Sequence/Spawn/Repeat - 缓动函数 Ease - 事件系统 - 事件队列 EventQueue - 事件分发 EventDispatcher - 事件类型 - 窗口事件 - 键盘事件 - 鼠标事件 - UI事件 - 音频系统 - 音频引擎 AudioEngine - 音效 Sound - 资源管理 - 资源管理器 ResourceManager - 纹理池 TexturePool - 显存管理 VRAMManager - UI系统 - 基础控件 Widget - 按钮 Button - 标签 Label - 文本 Text - 进度条 ProgressBar - 滑块 Slider - 复选框 CheckBox - 单选框 RadioButton - 特效系统 - 粒子系统 ParticleSystem - 后处理 PostProcess - 自定义效果 CustomEffectManager - 工具库 - 日志 Logger - 计时器 Timer - 随机数 Random - 数据持久化 Data -``` - -## 🛠️ 技术栈 - -| 技术 | 用途 | 版本 | -|:----:|:-----|:----:| -| OpenGL ES | 2D 图形渲染 | 3.0+ | -| GLFW | 窗口和输入管理 | 3.3+ | -| GLM | 数学库 | 0.9.9+ | -| SDL2_mixer | 音频播放 | 2.0+ | -| spdlog | 日志系统 | 最新版 | -| stb_image | 图像加载 | 最新版 | -| freetype | 字体渲染 | 最新版 | -| xmake | 构建系统 | 2.5+ | - ---- - -## 🤝 贡献 - -欢迎提交 Issue 和 Pull Request! - ---- - -## 📄 许可证 - -Extra2D 使用 [MIT](LICENSE) 许可证。 - ---- - -## 联系方式 - -- GitHub Issues: https://github.com/ChestnutYueyue/extra2d/issues -- 作者: [ChestnutYueyue](https://github.com/ChestnutYueyue)