麻烦各位做过45度视角地图的家人们给看看坐标的问题,解决一天了,不知道问题出在哪

我用tiled导出了一个45度的地图,并且在cocos里面写了代码,打算将地图中的网格坐标转换为cocos坐标,并且地图中没有瓦片信息的,用红色边框标记。搞了好久,虽然看上去大差不差,但是还是存在问题,并且试了好久都没有解决。实在没办法,发上来让大家给帮忙看下。
1、为什么四条边明明有贴上瓦片,但是还是被红色标记出来了?
2、为什么x,y都有一些偏移,无法和地图完全重合呢?但是奇怪的是,中间的四张椅子空出来的与红框却意外的重合了,我尝试着给x,y加偏移量,虽然能控制重合,但中间的部分又没有办法重合了。
下面是效果图。麻烦各位大佬给看下,感谢!

下面是我的代码

没理解你的红色标记作用是什么,可能你的坐标转换有问题吧,所以中心点重合,但离中心点越远,偏移量越大;
以前做建造游戏测试的demo:https://github.com/Dopamine666666/CameraFollow.git
自己固定一个锚点用向量转换一下坐标,忘记当时什么逻辑了,仅供参考

红色标记没啥用,就是用来测试坐标转换是否正确的。然后测试了发现果然有问题

顶一下顶一下

坐标转换问题,大概率是边界取整之类,动手拿纸画一画就知道问题了(我以前就是这么做的)

那这个会影响实际的功能吗 比如我想判断点击的是哪个网格。会不会极限值 点击到边界 出现判断失误

我看了下坐标转换的代码,好像没有取整的逻辑呢,大佬受累帮忙看下 image

好的 我看一下 谢谢大佬

确定一个原点,其他位置对应哪个网格都能判定出来,是否是边界取决于你底图大小

谢谢各位的解答,问题都解决了,第一个标记的问题,是因为我地图里有两个layer,但我只循环判断了一个layer。 第二个问题就是把标记的y锚点设置为1就可以了

https://easymapeditor-1258223435.cos.ap-guangzhou.myqcloud.com/v2.0.0/web-mobile/index.html

45度地图算法,截图这里有源码,我也是这个地图框架的作者。
很多游戏团队在用这套工具做包含45度地图在内的各种类型地图游戏的开发了。你的功能都是小问题

1赞