2D游戏摄像机跟随不出界

Posted 千喜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2D游戏摄像机跟随不出界相关的知识,希望对你有一定的参考价值。

做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);
        }
    }
}

 

以上是关于2D游戏摄像机跟随不出界的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发实战2D游戏摄像机镜头跟随,屏幕边缘限制镜头移动(使用Cinemachine组件)

由于 Time.deltaTime,C#/Unity 相机跟随抖动

Unity游戏开发第三人称摄像机跟随

unity虚拟摇杆

Unity第三人称游戏摄像机跟随

摄像机俯视跟随游戏角色的实现