c# - 二维球角色控制器
问题描述
我希望在统一 2d 中创建一个类似于红球游戏的球角色,但我似乎无法让它像红球中的角色一样工作。我希望球能够左右滚动并能够跳跃。我设法通过添加物理材料并增加摩擦力并添加 rb.AddForce() 函数使其左右滚动,但我在跳跃时遇到了麻烦。我尝试了 rb.velocity() 但是当我跳跃并向右或向左移动时,球的力量太强了,而且它移动得太快了。我错过了什么还是有更好的方法来做到这一点?我需要帮助.....
解决方案
对此的快速解决方法是定义一个上限。喜欢:
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
希望有帮助
推荐阅读
- mongodb - mongodb管道查询$project中的错误应该是什么?
- javascript - 如何在 bootstrap 中添加particle.js 作为 div 背景
- azure - 如何在外部 azure 活动目录中强制执行多因素身份验证
- c# - 在 Unity3D UWP 中使用 System.Numerics.dll
- javascript - 如何使用 Ajax 刷新特定标签?
- android - 从 ACTION_PICK 共享文件 uri
- python - Python 代码在 Ubuntu 和 MacOS 上的行为不同
- ios - 如何在领域数据库中构建模型&我可以使用 Date 作为主键吗?
- hash - 在 Spring Security 5 中的 MessageDigestPasswordEncoder 中设置自定义盐字符串
- r - 如何按R中的列计算异常值?