Answers:
四叉树的目的是有效地剔除大量数据,以便您仅在紧邻的数据上花费时间。但是2D阵列已经为您提供了特定于位置的随机访问,因此对于可能会使四叉树变得多余的2D游戏。在3D游戏中,您无法使用数组来定位所有内容,而这正是四叉树(或更好的八叉树)的方便之处。
现在,我在这里谈论该级别的基础数据表示。根据图形架构的设置方式(例如,在3D引擎中使用平面进行2D图形处理),您可能需要在场景图中使用四叉树来有效地剔除图形内容。
然后不要忘记关卡中的各种敌人和其他互动对象。也许您使用2D数组来管理关卡的切片,但使用四叉树来组织所有交互式元素(例如,用于物理引擎)。
这样考虑:在关卡中随机选择一个点,然后考虑要找出该点1000像素半径内的所有内容需要花费多少工作。如果因为所有内容都按2D数组中的位置组织而可以快速执行此操作,则不需要四叉树。但是,如果您必须遍历所有内容并分别检查每个对象的距离,则可以使用四叉树使搜索更加有效。