开源无代码游戏引擎与编辑器,可制作 2D、3D 和多人联机游戏,支持移动端、桌面端与网页。
AlmasB/FXGL
基于 JavaFX 的 Java/Kotlin 游戏框架,用于开发 2D 游戏和复杂界面应用。
- Star
- 4,874
- Fork
- 711
- 未关闭 Issue
- 144
- 最近提交
- 22天前
这是什么?
FXGL 是一个基于 JavaFX、面向 Java 和 Kotlin 的游戏开发框架。它在 JavaFX 之上提供更高层的 API,用于开发 2D 游戏,内置实体-组件设计、插值动画和粒子效果等常用机制。由于它是 JavaFX 的超集,开发者可以直接沿用 JavaFX 的界面控件来制作游戏界面或普通应用。
框架支持 Windows、macOS、Linux、Android、iOS 和 Web 平台,兼容 Java 8 至 25。游戏可以打包成单个可执行 JAR 或原生镜像,并可通过 Maven Central 或 Gradle 引入,同时支持 Java 模块化开发。
项目提供示例代码、教程和 Wiki,适用于教学、个人项目和商业游戏开发,也包含实验性的 3D 支持。
核心功能
- 01实体-组件架构组织游戏对象
- 02支持插值动画和粒子效果
- 03作为 JavaFX 超集,可直接使用 JavaFX 界面控件
- 04支持 Windows、macOS、Linux、Android、iOS 和 Web
- 05可打包为单个可执行 JAR 或原生镜像
适用场景
- 使用 Java 或 Kotlin 开发 2D 横版、平台跳跃、街机或 RPG 游戏
- 开发带有复杂界面控件和动画的桌面业务应用
- 用 JavaFX 学习或教授游戏开发
- 快速原型验证应用或游戏创意
快速上手
- 1
在项目中添加 FXGL 的 Maven 依赖(版本 25)
<dependency> <groupId>com.github.almasb</groupId> <artifactId>fxgl</artifactId> <version>25</version> </dependency> - 2
或者使用 Java/Kotlin 的 Maven/Gradle 模板项目起步
- 3
创建 GameApplication 子类并运行其 main 方法
使用前须知
- 需要具备 Java 和 JavaFX 的基础知识,并非面向其他语言的通用引擎。
- README 中的 Gradle 示例使用了已弃用的 jcenter 仓库和 compile 配置。
收录于专题
标签
常见问题
- FXGL 是什么?
- 基于 JavaFX 的 Java/Kotlin 游戏框架,用于开发 2D 游戏和复杂界面应用。 FXGL 是一个基于 JavaFX、面向 Java 和 Kotlin 的游戏开发框架。它在 JavaFX 之上提供更高层的 API,用于开发 2D 游戏,内置实体-组件设计、插值动画和粒子效果等常用机制。由于它是 JavaFX 的超集,开发者可以直接沿用 JavaFX 的界面控件来制作游戏界面或普通应用。
- FXGL 可以免费使用吗?用的什么许可证?
- FXGL 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- FXGL 还在维护吗?
- 活跃维护中。FXGL 最近一次提交是在 2026年10月16日。
- FXGL 适合用来做什么?
- 使用 Java 或 Kotlin 开发 2D 横版、平台跳跃、街机或 RPG 游戏 开发带有复杂界面控件和动画的桌面业务应用 用 JavaFX 学习或教授游戏开发 快速原型验证应用或游戏创意
- FXGL 怎么安装和运行?
- 在项目中添加 FXGL 的 Maven 依赖(版本 25): <dependency> <groupId>com.github.almasb</groupId> <artifactId>fxgl</artifactId> <version>25</version> </dependency> 或者使用 Java/Kotlin 的 Maven/Gradle 模板项目起步 创建 GameApplication 子类并运行其 main 方法
- 在哪里获取 FXGL?
- 源代码和安装说明在 GitHub 上:https://github.com/AlmasB/FXGL
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Godot 是一款免费开源、跨平台的游戏引擎,可在统一编辑器中开发 2D 和 3D 游戏。
一款用 Rust 编写的数据驱动游戏引擎,基于实体组件系统(ECS),支持 2D 和 3D 游戏开发。
一款轻量的脚本驱动游戏引擎,支持 2D、第三人称 3D 及混合游戏开发。
基于 OpenGL ES 的跨平台 Java 游戏开发框架,支持桌面、Android、浏览器和 iOS。
Box2D 2D 物理引擎的 JavaScript/TypeScript 重写版,用于 HTML5 游戏开发。