C++ 适合屏幕的静态阵列

C++ 适合屏幕的静态阵列,c++,game-engine,C++,Game Engine,我在运行时生成二维地形对象,例如树。一个游戏单元可以放置在任何地方,周围放置阵列中的树不能被绘制来创建一个开口 没有地图数据,每次生成的世界都是一样的。树一次生成一个矩形区域。区域大小可能因屏幕分辨率而异。游戏内存是预先分配的,静态内存分配是首选 我愚蠢地试图创建一个基于屏幕高度和宽度的数组,然后用游戏对象替换数组元素中的树。我无法基于非文本创建静态数组,因为静态数组需要在编译时知道其大小 如何存储矩形树区域数据,以便根据树的位置快速消除树。您可以使用其中一种技术生成所述的动态2D数组。使用四叉

我在运行时生成二维地形对象,例如树。一个游戏单元可以放置在任何地方,周围放置阵列中的树不能被绘制来创建一个开口

没有地图数据,每次生成的世界都是一样的。树一次生成一个矩形区域。区域大小可能因屏幕分辨率而异。游戏内存是预先分配的,静态内存分配是首选

我愚蠢地试图创建一个基于屏幕高度和宽度的数组,然后用游戏对象替换数组元素中的树。我无法基于非文本创建静态数组,因为静态数组需要在编译时知道其大小


如何存储矩形树区域数据,以便根据树的位置快速消除树。

您可以使用其中一种技术生成所述的动态2D数组。

使用四叉树场景图并进行分层剔除?这是一个有效答案,链接到一篇精彩文章,我将标记为答案。然而,我意识到,如果我想在所有设备上制作一个相同的程序,那么我最好为iPad 3分配一个最大分辨率的大型静态阵列,然后将其中的一部分用于较低的分辨率,因为应用程序使用的内存预分配给每个设备的数量是相同的考虑实施递归维度聚类并进行碰撞检测,或四叉树等,我认为这将是有效的解决方案,具有更灵活的对象位置布局的多种用途。i、 e.空间数据结构