等距精灵

时间:2015-08-26 20:40:37

标签: c++11 sfml isometric

这可能是一个愚蠢的问题,但我被困住了,无法通过它。我正在制作一个等距游戏,我使用瓷砖构建了地图,我只是按照本教程来构建地图http://www.binpress.com/tutorial/creating-a-city-building-game-with-sfml/137。但现在我不知道如何添加角色精灵。我是否必须使用瓷砖添加这些精灵,或者我只是将精灵绘制到屏幕的位置。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

  1. 深度按图块渲染的顺序完成

    对象,玩家等也一样......假设平面 XY 与地面平行, Z 轴是高度。然后你的网格将是这样的(假设钻石形状布局):

    diamond shape layout

  2. 渲染顺序

    你必须以与瓷砖相同的方式(同时)处理对象,玩家和精灵。因此,您应该根据网格布局和精灵组合方程以特定顺序渲染所有单元格。如果你的精灵可以覆盖已经渲染的东西,那么你应该从最远的瓷砖渲染到最接近“相机”。在这种情况下,上图中的蓝色方向箭头是正确的, Z 轴应该在最内圈中增加。

    所以现在如果你有任何对象,玩家或东西放在单元格(x,y,z)中,那么你应该在渲染任何其他单元格之前渲染单元格(x,y,z)之后直接渲染它

    加速是一个好主意,让你的瓷砖地图中的对象和玩家成为一个单元格。但是为此你必须以正确的方式获得瓷砖,并且你的地图表示必须能够这样做。