var midPoint:Number = Math.floor(zbuffer.length / 2); var arrayWidth:Number = zbuffer.length; while(arrayWidth > 1) { if(zBuffer[midPoint] > Zrx) { midPoint -= Math.floor(midPoint / 2); } else { midPoint += Math.floor(midPoint / 2); } arrayWidth /= 2; //trace(arrayWidth); } //trace(midPoint); zbuffer.splice(midPoint,0,p);