做2D游戏的时候碰上摄像机要跟随人物时要防止摄像机看到界面外的黑幕,直接上代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 控制在老师身上摄像机的位置,防止看到场景外的黑幕
/// </summary>
public class objectCameraLimit : MonoBehaviour {
    public float[] cameraLimitRange;//分别为上 下 左 右
    public Transform objectTrans;//老师
    // Use this for initialization
    void Start () {
        objectTrans = transform.parent;
    }
    
    // Update is called once per frame
    void Update () {
        cameraLimit();
    }
    void cameraLimit()
    {
        if(objectTrans.localPosition.y > cameraLimitRange[0])
        {
            transform.localPosition = new Vector3(transform.localPosition.x,cameraLimitRange[0] - objectTrans.localPosition.y,transform.localPosition.z);
        }
        else if(objectTrans.localPosition.y < cameraLimitRange[1])
        {
            transform.localPosition = new Vector3(transform.localPosition.x,cameraLimitRange[1] - objectTrans.localPosition.y,transform.localPosition.z);
        }

        if (objectTrans.localPosition.x > cameraLimitRange[3])
        {
            transform.localPosition = new Vector3(cameraLimitRange[3] - objectTrans.localPosition.x, transform.localPosition.y, transform.localPosition.z);
        }
        else if (objectTrans.localPosition.x < cameraLimitRange[2])
        {
            transform.localPosition = new Vector3(cameraLimitRange[2] - objectTrans.localPosition.x, transform.localPosition.y, transform.localPosition.z);
        }
    }
}

 

相关文章:

  • 2021-06-08
  • 2021-09-09
  • 2021-07-15
  • 2021-05-18
  • 2021-06-13
  • 2021-12-16
  • 2021-12-11
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2021-05-24
  • 2021-12-07
  • 2021-05-12
  • 2022-12-23
相关资源
相似解决方案