首页 > 解决方案 > MathF.Clamp 问题

问题描述

我正在学习 C# 和 Unity 的教程,但我对代码有所偏离,我希望有人能帮助我了解如何将 MathF.Clamp 添加到我的代码中。

var delta = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")).normalized * Time.deltaTime * moveSpeed;

transform.position = new Vector3(
transform.position.x + delta.x,
transform.position.y + delta.y,
transform.position.z);

欢迎所有建议。感谢您的时间。

标签: c#unity3d

解决方案


这将使您的相机使用Mathf.Clamp. 您必须定义允许相机移动的最小值和最大值:

var delta = new Vector2(Input.GetAxisRaw("Horizontal"),
    Input.GetAxisRaw("Vertical")).normalized * Time.deltaTime * moveSpeed;

transform.position = new Vector3(
    Mathf.Clamp(transform.position.x + delta.x, minX, maxX),
    Mathf.Clamp(transform.position.y + delta.y, minY, maxX),
    transform.position.z);

推荐阅读