FXGL 攻略 01.实体
本教程将主要介绍FXGL中实体的创建以及组件的绑定和解绑。
- 创建实体
实体(Entity)在FXGL引擎中可以理解为最小的组成成分,在游戏世界(GameWorld)中添加后就会展示在游戏中。
- 使用静态工厂添加组件
FXGL官方wiki提供了关于使用注解完成组件创建的工厂模式,这里改写为更简单理解的静态工厂模式。
为了方便的创建各种类型的实体,我们还需要一个枚举类EntityType
public enum EntityType {
/**
* 飞机
*/
PLANE
}
然后新建一个静态工厂,其中view方法中加载的FXGLwiki中的目录结构下的textures目录下的文件,该方法将组件与一个图片文件绑定。
/**
* 实体静态工厂
*/
public class CustomerEntityFactory {
public static Entity createEntity(EntityType type){
switch (type) {
case PLANE -> {
Entity entity = FXGL.entityBuilder().view("plane.png").build();
return entity;
}
default -> {
return null;
}
}
}
}
新建一个快速上手中介绍过得GameApp,并且在gameApp的init阶段 添加该实体。
public class GameApp extends GameApplication {
/**
* Initialize game objects.
*/
@Override
protected void initGame() {
FXGL.getGameWorld().addEntity(CustomerEntityFactory.createEntity(EntityType.PLANE));
}
@Override
protected void initSettings(GameSettings settings) {
settings.setTitle("demo");
settings.setHeight(720);
settings.setWidth(1080);
}
public static void main(String[] args) {
launch(args);
}
}
效果如图:
FXGL 总目录