C# 在Unity C中,如何仅当玩家到达屏幕顶部1/2时才将相机沿Y轴向上移动#
这是一个2D平台游戏 我不希望在玩家跳跃时相机沿Y轴向上移动。我只希望它移动时,播放器的屏幕上部,以便它可以滚动到垂直平台和梯子 有人知道在代码和Unity编辑器中输入什么才能完成吗 这是我到目前为止在相机脚本中的代码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
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位置。您可以从相机向玩家创建光线投射,在特定角度,您知道玩家高于您计算的限制,然后移动相机?