C# 在Unity C中,如何仅当玩家到达屏幕顶部1/2时才将相机沿Y轴向上移动#

C# 在Unity C中,如何仅当玩家到达屏幕顶部1/2时才将相机沿Y轴向上移动#,c#,unity3d,unity5,unity2d,C#,Unity3d,Unity5,Unity2d,这是一个2D平台游戏 我不希望在玩家跳跃时相机沿Y轴向上移动。我只希望它移动时,播放器的屏幕上部,以便它可以滚动到垂直平台和梯子 有人知道在代码和Unity编辑器中输入什么才能完成吗 这是我到目前为止在相机脚本中的代码 public class CameraControl : MonoBehaviour { public GameObject target; public float followAhead; public float smoothing; p

这是一个2D平台游戏

我不希望在玩家跳跃时相机沿Y轴向上移动。我只希望它移动时,播放器的屏幕上部,以便它可以滚动到垂直平台和梯子

有人知道在代码和Unity编辑器中输入什么才能完成吗

这是我到目前为止在相机脚本中的代码

public class CameraControl : MonoBehaviour {

    public GameObject target;
    public float followAhead;
    public float smoothing;

    private Vector3 targetPosition;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        targetPosition = new Vector3 (target.transform.position.x, transform.position.y, transform.position.z);

        if (target.transform.localScale.x > 0f) {
            targetPosition = new Vector3 (targetPosition.x + followAhead, targetPosition.y, targetPosition.z);
        } else {
            targetPosition = new Vector3 (targetPosition.x - followAhead, targetPosition.y, targetPosition.z);
        }

        transform.position = Vector3.Lerp (transform.position, targetPosition, smoothing * Time.deltaTime);
    }
}

我猜你有一个绑定到跳跃的bool,它触发了跳跃动画

因此,在相机的
Update()
中,您可以执行以下操作:

void Update() {
    // Update camera X position
    if (isPlayerJumping) return;
    // Update camera Y position
}

这样,仅当玩家没有跳跃时才更新相机的Y位置,同时在所有情况下(即使跳跃时)仍更新X位置。

您可以从相机向玩家创建光线投射,在特定角度,您知道玩家高于您计算的限制,然后移动相机?