四叉树学习demo

论坛里关于四叉树的教程有很多,本人也照葫芦画瓢,写了一个demo,以及我对源码的理解,还望勿喷
参考quadtree-js
话不多说 先上效果


绿色的代表可能会发生碰撞的节点,后续只需要判定目标节点已绿色的进行碰撞检测即可。
源码分析

源码解读

*bounds 描述四叉树的边界,demo里面已左下角为锚点 *

  • maxObjects 每个四叉树容纳的最大数量 默认为10 *
  • maxLevels 表示层级,一般设置为4级 通过 maxLevels 和 maxObjects 算出可以容纳的最大数量为 10x4x4x4=640 一般的碰撞场景都可以满足 *
  • objects 表示此四叉树的叶节点 *
  • nodes 表示子节点*