我有一个球员和一个赛道,我已经将速度应用到了球员身上,这样他就可以在路上向右或向左移动。
玩家是僵硬的身体(rb),我正在应用速度来移动玩家。
仅在我申请跟随的道路上将玩家移动到左侧:
Vector2 clampPos = new Vector2 (-playerSpeed, 0);
clampPos.x = Mathf.Clamp (clampPos.x, -maxPoistion, maxPoistion);
rb.velocity = clampPos;
但是球员仍然在最高位置之外移动。
答案 0 :(得分:0)
我们应该夹住位置,而不是夹住速度。
rb.velocity = new Vector2 (playerSpeed, 0);
Vector2 clampPos = rb.position;
clampPos.x = Mathf.Clamp (clampPos.x, -maxPoistion,maxPoistion);
rb.position = clampPos;