1

要闻速览:

  • 我使用 Tiled 作为我的 Tile 编辑器。
  • 我正在使用 LibGDX。我得到了一切可以为一个旧的神奇宝贝风格的游戏工作。

我的问题:

我不是在创造神奇宝贝。我的精灵是 60x20 像素,但我只想要底部 20x20 像素(我的脚)作为我的碰撞区域。

现在,取一棵树,底部为 20x20 像素,无法行走:

当我从底部开始时,我希望将脚上方的 40 像素显示在树的前面。这意味着在实际树木的底部前方 20 像素和上方 20 像素。但是,当我站在树的底部上方时,我希望我的球员完全被树的后面覆盖。

当我在没有 LibGDX 的情况下(桌面,低端)编程时,我只是先渲染我位置上方的所有像素,然后检查是否有任何项目在我上方/下方,然后渲染其他所有内容。

现在,当我使用OrthogonalTileMapRenderer.

4

1 回答 1

2

我认为没有解决方案只使用 TiledMapRenderer 来渲染整个图层。

想象一下,你有两棵树,一棵在另一棵之上,中间有一块空间。您的角色站在这一块瓷砖上,因此位于两棵树之间。他会在一个后面,另一个在前面。在这种情况下,不可能以标准方式一次渲染整个图层,因为您的角色要么在两棵树的前面,要么在两棵树的后面。

您仍然可以使用 TilEd 创建地图,但您需要使用对象分析该特殊图层并将其转换为实体列表,您可以在其中应用手动 Z 排序(嗯,二维空间中的 Y 排序)从背景到前景并以正确的顺序单独渲染它们。

于 2013-08-18T09:43:08.803 回答