2d球形角色控制器

时间:2019-05-16 02:09:50

标签: c# unity3d game-development

我希望在统一2D中创建一个类似于红球游戏的球角色,但是我似乎无法使其像红球中的角色一样工作。我希望球左右滚动,并且能够跳跃。我设法通过添加物理材料并增大摩擦力并添加了rb.AddForce()函数来使其左右滚动,但是我在跳跃时遇到了麻烦。我尝试了rb.velocity(),但是当我跳动或向右或向左移动时,球会过分用力,并且移动得太快。我是否缺少某些东西,或者有更好的方法吗?我需要帮助.....

1 个答案:

答案 0 :(得分:0)

对此的快速解决方案是定义一个上限。喜欢:

float limit = 10f;
Rigidbody2D rig;

void Start(){
  rig = gameObject.transform.GetComponent<Rigidbody2D>();
}

void Update(){
if(Input.GetKeyDown(KeyCode.A && rig.velocity.magnitude < limit){

  rig.AddForce(accelerationVariable);
 }
}

我将使用Rigidbody.velocity.magnitude,因为它可以为您提供矢量的长度。 如果您只想检查x-Force,请使用Rigidbody.velocity.x

希望有帮助