【发布时间】:2015-10-28 21:40:01
【问题描述】:
我需要将 Tiled 中绘制的多边形对象加载到我的 slick2d 游戏中。我可以加载矩形对象,并从中创建碰撞框,但我似乎找不到任何加载多边形的方法? (垂直等)。这在 slick2d 中可行吗?
【问题讨论】:
我需要将 Tiled 中绘制的多边形对象加载到我的 slick2d 游戏中。我可以加载矩形对象,并从中创建碰撞框,但我似乎找不到任何加载多边形的方法? (垂直等)。这在 slick2d 中可行吗?
【问题讨论】:
哟!所以我设法找到了解决方案。我会为任何感兴趣的人发布我所做的:
我所做的基本上是我自己动手并自己添加了多边形支持。我从 org.newdawn.slick.tiled 复制了所有类,并制作了我自己的版本,并添加了多边形支持。在 TiledMap 类中,我修改了内部 GroupObject 类以包含一个名为 vertecies 的 Vec2 数组,然后我修改了构造函数,以便它查找一个名为“Polygon”的子项(存储多边形信息的位置),然后解析字符串值将“points”属性转换为 Vec2 数组,我将其存储在 vertices 变量中。然后我添加了一个返回顶点变量的 getObjectVertices(int groupID, int objectID) 方法。
希望这可以帮助其他人解决我的情况!现在加载地图效果很好,我为我的小 McGyver 解决方案感到非常自豪;)
【讨论】: