TiledMap对象层的对象区域使用

TiledMap对象层中建立了一个对象,想用来做活动区域的范围限制,要怎么做呢,想知道相关的API有没有?求助大神

在 tmx 文件中,对象并没有明确用来做 范围限制 功能的数据。所以这样的需求就需要自己通过对象的数据结合相应的算法来实现了。

我在对象层中建立了一个矩形的对象,想用这个矩形作为活动范围,可以给点提示该怎么做吗,有什么方法可以实现这个功能呢?

矩形对象中有 x,y,width,height 这些属性。其中 x,y 是矩形的左上角相对于地图左上角的坐标。
根据这些属性标记了这个对象所对应的地图中的矩形区域。

对于需要在此矩形区域活动的节点,通过节点的 position 是否在矩形区域内来判断一下,就可以了。

我也看到了这块,但是好像只是在矩形没有旋转的情况下,当我的矩形旋转35度后,判断结果是没有变化的,旋转的该怎么判断呢(我是用cc中的矩形方法判断的,旋转之后的矩形是不是要自己处理了)(还有三角形的判断该怎么判断)

所以说这些需求要根据自己的实际情况实现相应的算法来判断。建议自己研究一下,应该并不是很难。或者可以在网上搜索一下相应的算法实现。

谢谢你的回复,有需要的时候再研究下吧

来来来,正好我做到这里,给你贴个图
首先你对象层设置完之后,只有几何形状,然后ccc读取这些形状,用想要的component生成你想要的功能,这是我读区的代码,你可以参考下


我是用physics(你也可以用collider)

2赞

@zhangqm 请问在多边形哪块是怎么处理的