Mathf.Clamp表示速度不起作用

时间:2017-02-14 05:38:50

标签: unity3d

我有一个球员和一个赛道,我已经将速度应用到了球员身上,这样他就可以在路上向右或向左移动。

玩家是僵硬的身体(rb),我正在应用速度来移动玩家。

仅在我申请跟随的道路上将玩家移动到左侧:

Vector2 clampPos = new Vector2 (-playerSpeed, 0);
clampPos.x = Mathf.Clamp (clampPos.x, -maxPoistion, maxPoistion);
rb.velocity = clampPos;

但是球员仍然在最高位置之外移动。

1 个答案:

答案 0 :(得分:0)

我们应该夹住位置,而不是夹住速度。

rb.velocity = new Vector2 (playerSpeed, 0);
Vector2 clampPos = rb.position;
clampPos.x = Mathf.Clamp (clampPos.x, -maxPoistion,maxPoistion);
rb.position = clampPos;