【发布时间】:2025-11-20 13:25:11
【问题描述】:
正在开发 2d 自上而下的平铺地图游戏 - 我一直在研究生成地图坐标 (x/y),玩家可以使用它来导航(“无限”,perlin/其他生成的地形)地图,以及解决噪音生成问题。
我已经看到了解决方案,并被告知将世界坐标转换为屏幕坐标,反之亦然 - 但我无法弄清楚如何正确定义固定地图坐标,因为在屏幕上渲染某些东西是通过相对坐标完成的到框架/窗格...所以 0,0 始终是窗口的左上角,无论地图在哪里。
我可以轻松计算地图的坐标(在你的角色位置和地图中心之间有a 平铺列和b 平铺行)但是我不明白如何定义固定点-地图起始位置?一旦我启用了保存功能,玩家可能会在不同的位置开始游戏,因此它不能以此为基础。
【问题讨论】:
-
我不明白起始位置的问题出在哪里。
-
(假设玩家始终位于屏幕中心)您可以在玩家周围的方框中获取世界坐标;玩家在世界的 x,y 处,将 x-10 到 x+10 映射到屏幕,将 y-10 和 y+10 映射到屏幕。 (x-10, y-10) 是你的 0,0 屏幕坐标?
-
我还没有保存功能,但是当我这样做时,玩家将能够在他们退出的最后一个位置开始 - 如果我以此为基础对于地图坐标,每次玩家在不同区域保存/退出后再次开始游戏时,地图坐标都会发生变化。
标签: java