java - 等距游戏数据结构和渲染

标签 java dictionary data-structures isometric

我正在开始开发 2d 等距(平铺、类 Rogue)游戏,并且正在集思广益,我将使用哪种数据结构来存储运行时数据(例如平铺和实体),但我不想使用 2d数组(因为世界会很大)。在这种情况下我将如何处理渲染?

最佳答案

尽管您可能会更成功地询问 https://gamedev.stackexchange.com/我会尝试提供一些想法:

您应该创建一个Tile 类,该类可能包含该图 block 上的实体集合。此外,实体可能会保存对其所在图 block 的引用。

至于 map 表示,这取决于 map 的表示方式。如果您有固定大小的 map ,则可以使用 2D 数组(该数组仅包含指向图 block 的链接,如果当前不需要,则该链接可能为空),否则您可以使用索引为图 block 位置的 map 。然后在 map 上查询您需要显示的图 block 。

此外,您可能需要使用一些缓存并加载显示区域周围的一些图 block 。当图 block 位于缓存区域之外并且您需要内存时,它们可能会从 map 中删除。

关于java - 等距游戏数据结构和渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869439/

相关文章:

Java Swing 文本框和按钮未显示在表单中?

javascript - 未捕获的类型错误 : Cannot read property of 'send' undefined

java - Set<CharSequence> 和 Map<CharSequence, Object> 从 CharSequence 更改为 String

从矩阵中选择点的算法

java - 无限循环或提前终止 do while 循环

java - 通过 POST : using setDoInput() and setDoOutput() at the same time 下载文件

c++ - std::map 迭代器到自身

json - 无效操作 : type interface {} does not support indexing

java - java中二叉树节点的大小

algorithm - 改进Dinic算法的动态树数据结构