FXGL游戏引擎
概述:
FXGL 是一个基于 Java 的开源游戏引擎,专为快速开发 2D 和 3D 游戏而设计。它提供了丰富的功能,包括物理引擎、音频处理、动画、用户界面和人工智能等,帮助开发者快速构建高性能的游戏。FXGL 兼容 JavaFX,允许开发者使用 JavaFX 的图形和 UI 功能来创建游戏界面,并支持多种平台的发布。
Github开源链接:https://github.com/AlmasB/FXGL
Maven:
<dependency>
<groupId>com.github.almasb</groupId>
<artifactId>fxgl</artifactId>
<version>21.1</version>
</dependency>
基本示例:
public class MainApp extends GameApplication {
//窗体初始化
@Override
protected void initSettings(GameSettings gameSettings) {
gameSettings.setTitle("GamePlane");
gameSettings.setWidth(400);
gameSettings.setHeight(800);
gameSettings.setAppIcon("planet.png");
gameSettings.setVersion("0.1");
}
//实体
private Entity hero;
//重写游戏初始化时,构建实体
@Override
protected void initGame() {
//如果构建实体的view需要一个图片,图片要在项目中创建指定目录:
//assets 是所有资源的父目录;textures 是下属子目录专门用于存储图片的目录
hero = FXGL.entityBuilder().at(230, 420)
//.view("hero.png")
.view(new Rectangle(60,60,Color.BLUE))
.buildAndAttach();
}
// 初始化UI用户界面
@Override
protected void initUI() {
}
// 更新游戏逻辑
@Override
protected void onUpdate(double tpf) {
}
public static void main(String[] args) {
launch(args);
}
}
FXGL引擎简化了开发一些基本操作,例如实体的创建,只要用Entity声明即可。
引擎构建了很多写好的方法,每个方法模块都单独负责不同的事情,例如创建窗体、游戏初始构建实体、UI的初始化与构建、游戏中一些全局变量的初始化、更新渲染等等,用到时重写即可
以上就是一个基于FXGL引擎最简单的小程序骨架
核心类
GameApplication
GameWorld
Entity
Component
GameScene
AssetLoader
Input
PhysicsWorld
FXGL
Service
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 AiM