# Extra2D
轻量级跨平台 2D 游戏引擎
高性能、模块化、支持 Nintendo Switch
[构建指南](#构建指南) | [快速开始](#快速开始) | [示例程序](#示例程序) | [模块系统](./docs/module_system.md)
---
## 简介
**Extra2D** 是一个轻量级跨平台 2D 游戏引擎,采用现代 C++17 架构,支持 Windows、Linux、macOS 和 Nintendo Switch 平台。
### 核心特性
- **跨平台支持**:Windows、Linux、macOS、Nintendo Switch
- **模块化架构**:模块系统 + 服务系统,灵活可扩展
- **显式注册**:通过 `Application::use()` 注册模块,参考 Kiwano 设计
- **场景图系统**:树形节点结构,支持变换继承
- **输入系统**:键盘、鼠标、手柄、触摸,事件驱动
- **渲染系统**:OpenGL ES 3.2,支持自定义着色器
- **视口适配**:多种适配模式,自动响应窗口大小变化
---
## 架构概览
```mermaid
flowchart TB
subgraph Application["Application (应用层)"]
direction TB
APP[Application]
end
subgraph Core["Core Layer (核心层)"]
direction LR
MOD[Module