Go to file
ChestnutYueyue db35d8762c build(mingw): 添加对mingw平台的支持
添加mingw平台的工具链配置,使其能够在该平台下进行构建
2026-02-11 16:56:10 +08:00
Extra2D refactor(audio): 示例程序重构音频系统为单例管理器模式 2026-02-11 15:30:32 +08:00
docs docs: 更新API教程文档和构建系统文档 2026-02-11 16:42:20 +08:00
examples refactor(输入处理): 将SDL控制器按钮替换为引擎定义的GamepadButton枚举 2026-02-11 15:47:25 +08:00
logo feat: 重构资源管理和日志系统,添加多平台支持 2026-02-09 19:34:22 +08:00
xmake refactor(ui): 重构UI组件并移除Squirrel脚本支持 2026-02-11 12:20:43 +08:00
.gitignore refactor(ui): 重构UI组件并移除Squirrel脚本支持 2026-02-11 12:20:43 +08:00
LICENSE feat: 添加推箱子游戏示例及相关资源文件 2026-02-09 12:13:02 +08:00
README.md docs: 更新API教程文档和构建系统文档 2026-02-11 16:42:20 +08:00
xmake.lua build(mingw): 添加对mingw平台的支持 2026-02-11 16:56:10 +08:00

README.md

Extra2D Logo

Release License Build Status C++17 Nintendo Switch

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

📖 构建指南 | 🚀 快速开始 | 📦 示例程序 | 📚 API 教程


🌟 简介

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

# 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

📚 文档


🛠️ 技术栈

技术 用途 版本
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 许可证。


联系方式