上文中,我们已经获得了一个完整的游戏角色,他能正常的移动,还有一些自身的特色,但是还有一个比较显著的问题,我们当前的游戏却少一个世界。
1. 逻辑分析
抛开其他轮子不谈,我们要自己生成世界可以使用实体或者ui生成的方式按照自己自定的某种数据结构(可能是二维数组)来渲染我们设计出的地图。但是明显会发现这个二维数组的可读可维护性会比较糟糕。这里就需要引入FXGL的一个比较方便的点:可以支持tmx文件格式的地图导入。
首先我们需要下载一个地图编辑器
下载完成后我们需要一些地图资源文件,这些都可以去爱给网上下载得到。
具有ps等软件使用基础的同学可以很容易的学会使用该制作器。
简简单单的画一点东西~
这里着重介绍一下图层问题,不同的图层这个很好理解,高位的会遮盖掉低位图层的东西。对象层也是图层的一种,而且尤其重要。

地图中有很多图块,但是这些图块最后会被组成一张image图片整体渲染到游戏中,如果我们希望实现某些图块有特殊操作,某些图块不能通过等等问题,我们需要增加obj对象。这些对象上的类型会在你加载项目的时候,从游戏引擎内的实体工厂寻找并且添加在游戏世界中。
2.代码实践
整体的代码实现很简单,首先我们现在最早的工厂中增加wall对象
GameEntityFactory.java
@Spawns("wall")
public Entity newWall(SpawnData data) {
Entity build = FXGL
.entityBuilder(data)
.bbox

本文介绍了如何使用FXGL游戏引擎导入TMX地图文件,通过地图编辑器创建游戏世界,并利用图层和对象层实现特殊功能。通过实例代码展示了如何在工厂中添加自定义实体,并在初始化阶段注入地图,最终实现简单的游戏场景。
最低0.47元/天 解锁文章
5864

被折叠的 条评论
为什么被折叠?



