前言
第一次接触Java的GUI,是之前很流行的Flappy Bird。大学时期网上有了类似的代码,和同学们纷纷尝试二开。
正式工作后,一直在做Web端,听网上说,性能比较差,只适合自己做小工具。
最近,在浏览Oracle
的官网时,发现了一个没见过的东西JavaFX。
一. 什么是JavaFX
国内官网:https://openjfx.cn/
JavaFX 是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式系统。 它是许多个人和公司的共同努力的成果,目的是为开发丰富的客户端应用提供一个现代、高效、功能齐全的工具包。
官方的JDK8自带这个包(),而在高版本JDK中,以jar包提供,目前大版本如下
前两个是内置版本,最后是一个可视化用来创建页面(fxml)的工具,BSD协议。
jar包的版本见此链接(适用于JDK21):https://jdk.java.net/javafx21/
下载并体验了一下,笔记本没显卡使用起来感觉有点卡。
二. 游戏引擎FXGL
正如题目缩写,这个仓库就是FXGL
仓库地址:https://github.com/AlmasB/FXGL
官方示例图
可以看到都是经典的插卡游戏,一下子就回到了童年。
看一下Readme
- 跨平台,PC甚至移动端。
- 简洁API
- JavaFX的超集
- 打包成jar
- 完美2D,实验性3D!
游戏库:https://github.com/AlmasB/FXGLGames
试玩一下炸弹人:蓝色方块是人
wasd移动,f放炸弹。除了一些任务资源处理,其他完全可以。
三. 总结
没有看具体代码,到手也无需什么配置,运行也流畅。2D全场景,3D实验性,还有可视化创建页面。虽然没有什么现象级产品,但只要社区活跃,未来会有更好体验。
我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表