我的游戏场景中有一个 Cube(Player)。我编写了一个 C# 脚本来限制 Cube 的移动(使用 Mathf.Clamp()
),这样它就不会离开屏幕。
下面是脚本中的 FixedUpdate()
方法
private void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.velocity = movement * speed;
rb.position = new Vector3(
Mathf.Clamp (rb.position.x, x_min, x_max),
0.5f,
Mathf.Clamp(rb.position.z, z_min, z_max)
);
}
x_min
, x_max
, z_min
, z_max
的值分别是-3, 3, -2, 8 通过统一检查器输入。问题
该脚本运行良好,但我的播放器(立方体)可以在负
X-AXIS
中最多移动 -3.1 个单位(如果我一直按左箭头按钮),在负 X-AXIS
中多 0.1 个单位(这种行为也适用于其他轴)。当我停止按下按钮时,它显然会夹在 -3.1 到 -3 之间。Mathf.Clamp()
)首先将 Cube 限制为 -3 个单位? 最佳答案
关于c# - Unity 中的 Mathf.clamp() 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43738537/