首页 文章

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

提问于
浏览
0

我正在Unity上开发一款安卓游戏,玩家在点击时会跳跃,相机会跟随玩家 . 我've done so far is restrict/clamp the camera'的垂直运动,使用 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

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

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

相关问题