欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

FXGL Java游戏引擎教学实战06:手把手教你定制地图加载器(为妹子打造专属家园)- 实操篇

最编程 2024-07-23 21:56:14
...

整体的代码实现很简单,首先我们现在最早的工厂中增加wall对象
GameEntityFactory.java

   @Spawns("wall")
    public Entity newWall(SpawnData data) {
        Entity build = FXGL
                .entityBuilder(data)
                .bbox(new HitBox(BoundingShape.box(data.<Integer>get("width"), data.<Integer>get("height"))) )
                .collidable()
                .with(new PhysicsComponent())
                .build();
        return build;
    }

然后再app的init阶段注入该工厂

    @Override
    protected void initGame() {
        FXGL.getGameWorld().addEntityFactory(new GameEntityFactory());
        //加载地图的方法
        setLevel();
        Entity entity = CustomerEntityFactory.createEntity(EntityType.PLANE);
        //绑定视角 固定视角
        FXGL.getGameWorld().addEntity(entity);
                Viewport viewport = FXGL.getGameScene().getViewport();
        viewport.setBounds(-10000,-10000,250 *70,10000);
        viewport.bindToEntity(entity, FXGL.getAppWidth() / 2, FXGL.getAppHeight() / 2);


    }

然后就是加载地图方法

  private void setLevel() {
        //首先移除全部的实体
      FXGL.getGameWorld().getEntitiesCopy().forEach(t -> t.removeFromWorld());
      //加载地图
      FXGL.setLevelFromMap("tmx/obj_test.tmx");
    }

让我们运行一下,真不错。


当然,这还是一个很简单的游戏框架,但是已经能够制作很简单rpggame了。

这里是本期的git代码

回主目录