瓦片地图的碰撞检测精度问题

无心丿快语 2014-09-09 08:08:30
瓦片地图默认大小为32 。我做一个地图,有些地形会只占半个瓦片,但是在做碰撞检测时,如果加上检测,就会出现明明离地形很远却已经检测到碰撞了。除了把瓦块的大小变小以外,还有没有什么办法可以使得碰撞检测更接近与地形
...全文
720 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
时间溜走了 2015-12-13
  • 打赏
  • 举报
回复
新建一个编辑地图信息 把多余部分去掉
笨木头 2014-09-10
  • 打赏
  • 举报
回复
引用 2 楼 zcvbnmiou 的回复:
[quote=引用 1 楼 musicvs 的回复:] 这么说,最大不就只相差不到32个像素的距离么?~ 又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞
32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊[/quote] 。。。那你用像素碰撞检测好了
无心丿快语 2014-09-10
  • 打赏
  • 举报
回复
引用 1 楼 musicvs 的回复:
这么说,最大不就只相差不到32个像素的距离么?~ 又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞
32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊
无心丿快语 2014-09-10
  • 打赏
  • 举报
回复
引用 9 楼 musicvs 的回复:
[quote=引用 8 楼 zcvbnmiou 的回复:] [quote=引用 5 楼 musicvs 的回复:] [quote=引用 4 楼 zcvbnmiou 的回复:] [quote=引用 3 楼 musicvs 的回复:] [quote=引用 2 楼 zcvbnmiou 的回复:] [quote=引用 1 楼 musicvs 的回复:] 这么说,最大不就只相差不到32个像素的距离么?~ 又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞
32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊[/quote] 。。。那你用像素碰撞检测好了[/quote] 像素点。。。。。。。。。。。。。能有简单点的吗?。。。。。[/quote] 修改瓦片大小、多边形碰撞、像素碰撞、修改瓦片图素,我暂时想到的是这几个,估计都达不到你的需求吧~ 话说,能看看你地形碰撞的情况不?(截图)[/quote][/quote] 这样的情况,我个人认为修改一下图片比较好,像这个地形基本上一列就能放下,却用了两列的位置~ 如果不能修改图片的话,像这地形,左边那一列可以不放碰撞检测,因为它就只占了一点点格子。 然后,如果你的游戏角色很小只,我还是觉得把地图格子大小再调小一点,是最好的解决方法。 如果角色并不小,那,10几20个像素的偏差,没什么感觉吖(只要空白地方大于2/3个格子的,就不要添加碰撞处理,所以不会有太大的偏差) [/quote] 那我还是把图片改小一点吧 。。。
笨木头 2014-09-10
  • 打赏
  • 举报
回复
引用 8 楼 zcvbnmiou 的回复:
[quote=引用 5 楼 musicvs 的回复:]
[quote=引用 4 楼 zcvbnmiou 的回复:]
[quote=引用 3 楼 musicvs 的回复:]
[quote=引用 2 楼 zcvbnmiou 的回复:]
[quote=引用 1 楼 musicvs 的回复:]
这么说,最大不就只相差不到32个像素的距离么?~

又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞

32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊[/quote]
。。。那你用像素碰撞检测好了[/quote]
像素点。。。。。。。。。。。。。能有简单点的吗?。。。。。[/quote]
修改瓦片大小、多边形碰撞、像素碰撞、修改瓦片图素,我暂时想到的是这几个,估计都达不到你的需求吧~

话说,能看看你地形碰撞的情况不?(截图)[/quote][/quote]
这样的情况,我个人认为修改一下图片比较好,像这个地形基本上一列就能放下,却用了两列的位置~
如果不能修改图片的话,像这地形,左边那一列可以不放碰撞检测,因为它就只占了一点点格子。

然后,如果你的游戏角色很小只,我还是觉得把地图格子大小再调小一点,是最好的解决方法。
如果角色并不小,那,10几20个像素的偏差,没什么感觉吖(只要空白地方大于2/3个格子的,就不要添加碰撞处理,所以不会有太大的偏差)

无心丿快语 2014-09-10
  • 打赏
  • 举报
回复
引用 5 楼 musicvs 的回复:
[quote=引用 4 楼 zcvbnmiou 的回复:]
[quote=引用 3 楼 musicvs 的回复:]
[quote=引用 2 楼 zcvbnmiou 的回复:]
[quote=引用 1 楼 musicvs 的回复:]
这么说,最大不就只相差不到32个像素的距离么?~

又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞

32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊[/quote]
。。。那你用像素碰撞检测好了[/quote]
像素点。。。。。。。。。。。。。能有简单点的吗?。。。。。[/quote]
修改瓦片大小、多边形碰撞、像素碰撞、修改瓦片图素,我暂时想到的是这几个,估计都达不到你的需求吧~

话说,能看看你地形碰撞的情况不?(截图)[/quote]
无心丿快语 2014-09-10
  • 打赏
  • 举报
回复
引用 6 楼 shun_fzll 的回复:
特地搜了一下,好像没有比较好的方案,我有一个想法是,你再新建一个图层,在这个图层上添加图块(新加的图块分辨率尽量小),比如像这样子。 也许有更好的方法,一同关注。
新添的图层也需要瓦片和建立时候的瓦片大小一样,即使你给的图块像素小了,它也会自动拉大到和瓦片一样大
笨木头 2014-09-10
  • 打赏
  • 举报
回复
这么说,最大不就只相差不到32个像素的距离么?~ 又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞
风中老狼 2014-09-10
  • 打赏
  • 举报
回复
特地搜了一下,好像没有比较好的方案,我有一个想法是,你再新建一个图层,在这个图层上添加图块(新加的图块分辨率尽量小),比如像这样子。




也许有更好的方法,一同关注。
笨木头 2014-09-10
  • 打赏
  • 举报
回复
引用 4 楼 zcvbnmiou 的回复:
[quote=引用 3 楼 musicvs 的回复:] [quote=引用 2 楼 zcvbnmiou 的回复:] [quote=引用 1 楼 musicvs 的回复:] 这么说,最大不就只相差不到32个像素的距离么?~ 又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞
32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊[/quote] 。。。那你用像素碰撞检测好了[/quote] 像素点。。。。。。。。。。。。。能有简单点的吗?。。。。。[/quote] 修改瓦片大小、多边形碰撞、像素碰撞、修改瓦片图素,我暂时想到的是这几个,估计都达不到你的需求吧~ 话说,能看看你地形碰撞的情况不?(截图)
无心丿快语 2014-09-10
  • 打赏
  • 举报
回复
引用 3 楼 musicvs 的回复:
[quote=引用 2 楼 zcvbnmiou 的回复:] [quote=引用 1 楼 musicvs 的回复:] 这么说,最大不就只相差不到32个像素的距离么?~ 又或者,TiledMap有个多边形对象的功能,应该能实现多边形碰撞
32个像素已经很大了吧。。。多边形的顶点也只能在瓦片的顶点上,所以多边形的边要嘛是瓦片的边,要嘛是瓦片的对角线,如果将瓦片平分成两个长方形,地形占据的其中一边,这样检测还是不准啊[/quote] 。。。那你用像素碰撞检测好了[/quote] 像素点。。。。。。。。。。。。。能有简单点的吗?。。。。。

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧