人物移动时怎么自动根据地形拐弯?

首先,你通过策划给的配置表生成地板,在生成每一块的时候你得要设置位置信息是吧,这个位置信息是xz,这是二维坐标吧,这个信息你取整是不是就是一个二维数组的下标,你直接存进二维数组,然后你开始移动,在一个地板上你需要下一个地板的信息,下一个地板前方你就拿x,z+1去二维数组里取,左就拿x-1,z去取,右边就拿x+1,去取,为什么要遍历???

我总算明白了:
1、你在生成格子是随便存的,完全不建立2维数组映射地图
2、然后你一直提到遍历,意思明显,就是格子存储完全乱序
3、想到达到格子存储乱序,其实很难,因为你地图生成要么是手动摆放的,要么是用随机函数随处出来的
4、随机函数随机的,只能用在demo中,实际游戏中不会这么搞,游戏中的随机地图,也需要随机规则,也就是说还是有序的
5、手动摆放地图这种情况在开发中,不存在,因为需要策划配表,如果没有配表需要自己建立
总结:不管什么情况都需要数据和地图的一个正确映射;其实很容易想到,在生成地图时,多往后考虑将几步就好了

为什么非要遍历地板数组才能知道角色所在地板,不是角色坐标/地板边长再取整就得到角色所在地板的行和列了?,行和列分别加减 1 不就是相邻 4 个地板,你为什么要遍历地板数组呢

每个地板要有行号和列号,有一个map数据结构map<row_id,map<col_id,地板id>>,这个数据结构是你在初始化整个地图时,双重 for 循环时,就可做同时生成的,然后角色坐标除以地板边长取整,顶多再做个偏移就得到row_id和 col_id,然后从map 里不就取出地板 id,不就知道这里到底是个啥了,行列加减一不就看清周围是啥了,除了初始化地板有循环,这哪还有遍历

大佬,我复刻了你这边寻路的demo,但是我点击地图后,节点是直接闪现到目标点的,不知道你那边有没有时间?能帮我看下问题在哪里吗?

你可以发一下你的工程到我的邮箱,我找时间看下。zhefeng.zhang@cocos.com

好的,感谢大佬