【问题标题】: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
希望有帮助