【发布时间】:2018-10-14 03:14:16
【问题描述】:
如何获得 Rigidbody2D 速度大小 x。我试过这个代码。
Rigdbody.velocity.magnitude.x
但它不起作用。
【问题讨论】:
标签: unity3d
如何获得 Rigidbody2D 速度大小 x。我试过这个代码。
Rigdbody.velocity.magnitude.x
但它不起作用。
【问题讨论】:
标签: unity3d
根据Unity Docs,Vector3.magnitude 是float。您正在尝试访问它,就像它是 Vector3。换句话说,Vector3.magnitude 没有变量x。
我看到的另一个问题是您在Rigdbody 中有拼写错误。如果那是变量名,您应该更改它以防止将来的混乱和愤怒。通常,c# 变量应以小写字母 likeThis 开头
考虑到这两个因素后,您的调用应如下所示:
float magnitudeX = myRigidbody2D.velocity.x;
或
float magnitude = myRigidbody2D.velocity.magnitude;
【讨论】:
rigidbody2d 和 rigidbody 在很久以前就被弃用了。您应该定义自己的变量来存储对这些组件的引用。并且刚体也不会返回 Rigidbody2d 类型的对象
velocity.x 而不是 velocity.magnitude 我也添加到答案中