最近手头在做深度排序的优化.
于是做了下面一个实验
在场景上创建 2000 个对象. 然后使用传统的深度排序算法,全排.
[cc lang=”actionscript3″ nowrap=”false”]
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;
}
[/cc]
结果帧数降到了6帧.
于是考虑使用四叉树来做.
在收集资料的时候发现了一篇 javsScript 实现的四叉树
改写成AS后的代码为
Continue reading