这是用于Flash游戏的等轴测视图。我需要知道如何对对象进行排序,以便在绘制时无需进行z缓冲区检查。这似乎很容易,但是还有一个限制,一个场景可以有10,000+个对象,因此算法需要以小于O(n ^ 2)的速度运行。所有对象都是矩形框,场景中移动了3-4个对象。最好的方法是什么?
更新
在每个图块中只有一个对象(我的意思是对象不能彼此堆叠)。并且我们访问的对象图和对象图都有自己的位置。
更新2
看到这些数字:
首先应先绘制蓝色对象,然后绘制绿色,然后绘制红色。而在第二个中,您必须以相反的顺序绘制它们。您需要先绘制红色,然后绘制绿色,最后绘制蓝色的对象。如您所见,蓝色和红色物体的位置没有差异,它们与相机的距离都不同,依此类推。但是由于它们相对于绿色框的相对位置,您需要在两个图像之间更改其绘制顺序。这就是使这个问题变得一团糟的原因。
旁注:由于所有对象都是直角棱镜,因此在数学上可以证明至少有一个绘制顺序可以满足问题的需要。