libGDX 是一个开源、跨平台的 Java 游戏开发框架,基于 OpenGL (ES) 渲染,支持 Windows、Linux、macOS、Android、iOS 和 Web 平台,用同一套代码实现多端部署。 它采用 Apache License 2.0,商业和非商业项目都可以免费使用。
核心特点
- 跨平台:桌面、移动、Web 共享同一套 Java 代码,平台差异由后端抽象屏蔽。
- 高性能:核心用 Java 编写,音频、物理等性能敏感模块用 C/C++ 并通过 JNI 封装。
- 功能齐全:图形渲染、音频、输入、文件、网络、数学运算、Scene2D UI、Box2D / Bullet 物理引擎等模块开箱即用。
- 配套工具:提供 Texture Packer、Particle Editor、Hiero 位图字体生成器、GDX Setup 项目生成器等。
- 社区活跃:由全球志愿者维护,截至 2026 年 9 月 GitHub 星数约 23.6k,Discord、Reddit 等社区较活跃。
项目结构
libGDX 项目通常采用 Gradle 多模块结构:
my-game/
├── core/ # 跨平台游戏逻辑(纯 Java)
├── desktop/ # LWJGL3 桌面启动器
├── android/ # Android 入口与配置
├── ios/ # iOS 入口(需 RoboVM / MobiVM)
├── html/ # Web 端(GWT / JS 后端)
└── assets/ # 图片、音频、字体等资源开发时主要写 core 模块,各平台模块只负责初始化窗口、生命周期桥接和平台特定能力。
快速上手
- 安装 JDK 11+ 和 Android Studio / IntelliJ IDEA。
- 下载
gdx-setup.jar,填写项目名、包名、游戏类名,选择目标平台,生成项目。 - 用 IDE 打开生成的 Gradle 项目,运行
desktop模块的 Launcher 即可看到示例画面。 - 核心代码继承
ApplicationAdapter或实现ApplicationListener,在create()初始化资源,在render()中处理更新和绘制。
适合与不适合
适合:想做 2D/轻量 3D 游戏、希望用 Java 跨端发布、重视性能和底层控制、或需要 Android + 桌面同步开发的团队。
不太适合:希望零代码做游戏、需要强 3D 引擎生态、或不想处理 Gradle / JNI / 平台打包的团队。这类场景可能更适合 Unity、Godot 或 Unreal。