【问题标题】:LibGDX Sprite/Tile rendering behind and in front of a object对象前后的 LibGDX Sprite/Tile 渲染
【发布时间】:2013-08-15 22:15:56
【问题描述】:

速览:

  • 我使用 Tiled 作为我的 Tile 编辑器。
  • 我正在使用 LibGDX。我已经为一个老式的神奇宝贝风格的游戏准备好了一切。

我的问题:

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

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

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

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

现在,当我使用 OrthogonalTileMapRenderer 时,无论如何我都不知道只渲染几个像素。

【问题讨论】:

    标签: rendering libgdx sprite tiled


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢!如果我能“提升”你,我会的!我想我已经弄清楚了,如果我让它工作,我会留下一个完整的代码!
    猜你喜欢
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 2015-07-20
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多