相机yMin位置应限制在玩家位置

时间:2016-02-25 14:29:38

标签: unity3d

我正在开发一款关于Unity的安卓游戏,玩家会在点击时跳跃,相机会跟随玩家。到目前为止,我所做的是使用yMin = 0yMax = 2来限制/限制相机的垂直移动。相机也顺畅地跟随播放器。 我现在想要的是当玩家改变其位置时,相机位置会改变并将下限yMin更新为玩家的当前位置。这样,如果播放器位于视图的下方和外部,则相机不会将其降低到初始值。 这是我的相机跟随代码。

public class CameraFollow : MonoBehaviour {
    [SerializeField]
    private float yMin;
    [SerializeField]
    private float yMax;
    [SerializeField]
    private float xMin;
    [SerializeField]
    private float xMax;
    private Transform target;

    void Start () {         
        target = GameObject.Find("Player").transform;
    }

    void LateUpdate () {

        Vector3 targetPos = new Vector3 (
            Mathf.Clamp(target.position.x, xMin, xMax),
            Mathf.Clamp(target.position.y, yMin, yMax),
            -10
        );

        transform.position = Vector3.Lerp(transform.position, targetPos, 0.02f);

        if (Input.GetKeyDown(KeyCode.Escape)){
            Application.Quit ();    
        }
    }
}

1 个答案:

答案 0 :(得分:0)

好吧我只是想通知我应该将相机y位置分配给yMin。

Update(){
yMin = GetComponent<Camera>().transform.position.y;
}