在内存中存储等距网格的最佳方法是什么?

时间:2013-02-21 15:53:47

标签: java isometric

作为一种学习经历,我正在尝试使用Java + ObenGL制作一个基于回合制的策略游戏,我开始使用正方形作为地形图块。现在我觉得我宁愿有一个等距视角,因为我一直在讨论如何在内存中表示这些瓷砖的坐标。

我看到两种选择:

  1. 一个二维数组,X和Y轴穿过菱形的顶点,在渲染的网格上产生一条直线。

  2. 一个二维数组,其中X和Y轴跟在单元格的两侧(就像你用普通的矩形网格做的那样),而不是顶点,导致渲染网格中的对角线轴。

  3. 在这些情况下通常会做什么?这个比那个好吗?有没有更好的方法我错过了?

1 个答案:

答案 0 :(得分:1)

显示模式和数据是两回事。如果每个单元格中都有值,则二维数组很好。对于显示器,找出当前可见的网格部分并相应地访问该阵列。使用简单的2d自顶向下视图,您可以在网格和数组之间进行直接映射。从另一个角度来看,你需要做一些预测。