我的关卡选择菜单场景将是一个图形 Map . 认为级别选择类似于糖果粉碎 . 我为不同的 Map 设置了不同的精灵,当用户将摄像机移动到该 Map 时,这些精灵将被实例化 . 为了让我实现这一点,我使用触摸它的Y轴滚动/移动相机 . 但问题是,我在获取 Map 精灵的边界时遇到了麻烦,我已经阅读了很多关于这个精灵的解决方案 . 这是我目前的脚本 . 我不知道我做错了什么 . 我的相机在接近边界时卡住了 . 谢谢您的帮助

public float scrollSpeed = 10.0f;
     public GameObject[] maps;

     Camera mainCamera;

     private float topBound;
     private float bottomBound;
     private Vector3 pos;
     private SpriteRenderer currentSprite;
     private int mapIndex;
     void Awake () 
     {
         mapIndex = 0;
         mainCamera = Camera.main;
         currentSprite = maps [mapIndex].GetComponent<SpriteRenderer> ();
         bottomBound = currentSprite.sprite.bounds.size.y * -1;
         topBound = currentSprite.sprite.bounds.size.y + currentSprite.gameObject.transform.position.y;
     }

     void Update () 
     {
         if (Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Moved)
         {
             Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;

             mainCamera.transform.Translate(0f,-touchDeltaPosition.y * scrollSpeed * Time.deltaTime,0f);

         }

     }

     private float getAxisDelta(float axisDelta,float camMin,float camMax,float bottom,float top)
     {
         //get where edge of camera will have moved if full translate is done
         float boundaryMinPixelsDestination = camMin - Mathf.Abs(axisDelta);
         float boundaryMaxPixelsDestination = camMax + Mathf.Abs(axisDelta);

         Debug.Log("MaxPixels:"+boundaryMaxPixelsDestination+"="+camMax+"+"+Mathf.Abs(axisDelta));
         //check to see if you're within the border
         if ((boundaryMinPixelsDestination <= bottom && axisDelta > 0) ||
             (boundaryMaxPixelsDestination >= top && axisDelta < 0))
         {
             axisDelta = 0;
         }

         return axisDelta;

     }

     private float camBoundPos(string pos)
     {
         float bounds = 0f;
         if (pos == "top")
             bounds = mainCamera.transform.position.y + mainCamera.orthographicSize;
         if(pos == "bottom")
             bounds = mainCamera.transform.position.y - mainCamera.orthographicSize;

         return bounds;
     }