碰撞检测,英雄如何沿着建筑物,障碍物边缘行走?

我要做一个2.5d的场景,建筑物是不规则的,(譬如一个小树林),并不是一个矩形,我想要让英雄可以在建筑物的边缘能够自由行走,碰掉边缘就停下来,(比如走到树下边,再走就要到树上边去了),我应该如何做?

目前我自己是这样实现的,因为场景是上下左右都由障碍物, 我把标签把障碍物分成了上下左右,当我碰到上边的障碍物,就让人物往上移动的开关关掉,只可以左 右 下移动,当脱离碰撞的时候在把开关打开.

这样基本实现了人物碰到障碍物会不能移动,但是我的建筑是不规则的,带有弧度,这样的话 我往上走,碰到建筑,不能走了 但是左右也有建筑,这个时候 人物还可以左右移动的话就跑到建筑物上边了,

像求教 如何让人物能沿着障碍物的边缘行走 ?

将地图转为矩阵 例如
0001
0010
0010

1代表某种障碍物

您好,非常感谢您的回复, 我不是很明白转成矩阵的意思? 能否耽搁您的一点时间,稍微在讲解一下如何操作 万分感谢

自定…

二楼说的应该是a*寻路吧

不太明白你的地图是怎么样的……

蓝线 这样设置碰撞组件达不到想要的效果吗?

我最后是这样设置的 不过偷懒了一些 用了物理制作的 :joy:

用物理能完美满足要求的话不算偷懒,做出来才是目的:slightly_smiling:

其实主要是 碰撞没有特别理解…

看我的这个帖子

http://forum.cocos.com/t/tiled-collider/53785

简单来说就是用多边形绘制碰撞体,不管你什么形状都能搞定。

非常感谢, 只是我不太会用tiled 不知道2.5D的地图怎么拿这个做。。。。