四叉树

最近手头在做深度排序的优化.
于是做了下面一个实验
在场景上创建 2000 个对象. 然后使用传统的深度排序算法,全排.

        private function checkCollsion() : void
        {
            _rects.sort(sortFun);
           
            var rect : Rect;
            for(var i : int = 0; i < _rects.length; i ++){
                rect = _rects[i] as Rect;
                if(_container.getChildAt(i) != rect){
                    _container.setChildIndex(rect,i);
                }
            }
        }
       
        private function sortFun(p1 : DisplayObject, p2 : DisplayObject) : int
        {
            return p1.y > p2 .y ? 1 : -1;
        }

结果帧数降到了6帧.

于是考虑使用四叉树来做.
在收集资料的时候发现了一篇 javsScript 实现的四叉树

改写成AS后的代码为
继续阅读“四叉树”