【问题标题】:2d Ball character controller二维球角色控制器
【发布时间】:2019-05-16 16:27:54
【问题描述】:

我希望在统一 2d 中创建一个类似于红球游戏的球角色,但我似乎无法让它像红球中的角色那样工作。我希望球能够左右滚动并能够跳跃。我设法通过添加物理材料并增加摩擦力并添加 rb.AddForce() 函数使其左右滚动,但我在跳跃时遇到了麻烦。我尝试了 rb.velocity() 但是当我跳跃并向右或向左移动时,球的作用力太强了,而且移动得太快了。我错过了什么还是有更好的方法来做到这一点?我需要帮助......

【问题讨论】:

标签: c# unity3d game-development


【解决方案1】:

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

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

希望有帮助

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-17
  • 2017-10-21
  • 2017-03-11
  • 2016-04-17
  • 1970-01-01
相关资源
最近更新 更多