コード例 #1
0
        //计算虚拟相机区域
        private void CalcCMArea(DragCameraCom dragCameraCom, MapArea mapArea)
        {
            PolygonCollider2D collider2D = mapArea.GetCameraCollider();

            Vector2[] points = collider2D.GetPoints();

            Vector2 areaMin = points[0];
            Vector2 areaMax = points[0];

            for (int i = 1; i < points.Length; i++)
            {
                Vector2 tPoint = points[i];
                if (tPoint.x <= areaMin.x)
                {
                    areaMin.x = tPoint.x;
                }
                if (tPoint.x >= areaMax.x)
                {
                    areaMax.x = tPoint.x;
                }

                if (tPoint.y <= areaMin.y)
                {
                    areaMin.y = tPoint.y;
                }
                if (tPoint.y >= areaMax.y)
                {
                    areaMax.y = tPoint.y;
                }
            }

            dragCameraCom.CMArea.AABBMin = areaMin;
            dragCameraCom.CMArea.AABBMax = areaMax;
        }