Unity3D刚体约束获取属性

Unity3D刚体约束获取属性,unity3d,constraints,Unity3d,Constraints,我尝试在Unity3d上做一些简单的事情,其中之一就是检查刚体约束是否启用了冻结位置X,Y,Z角度。我检查了网络,但所有的问题是如何添加属性,无法找到如何获取属性。如果有人能告诉我,我会很高兴。对于x位置,它应该是: if((rigidbody.constraints & RigidbodyConstraints.FreezePositionX) == RigidbodyConstraints.FreezePositionX) { // x-position is frozen

我尝试在Unity3d上做一些简单的事情,其中之一就是检查刚体约束是否启用了冻结位置X,Y,Z角度。我检查了网络,但所有的问题是如何添加属性,无法找到如何获取属性。如果有人能告诉我,我会很高兴。

对于x位置,它应该是:

if((rigidbody.constraints & RigidbodyConstraints.FreezePositionX) == RigidbodyConstraints.FreezePositionX) 
{
    // x-position is frozen
}
有关其他选项,请参见

还可以尝试搜索bitflag教程:)


编辑:修复缺少括号的问题

错误CS0019:运算符
&“无法应用于类型为
UnityEngine.RigidbodyConstraints”和“bool”的操作数:::当我执行以下代码时,你是对的,我缺少一对括号,编译器将RigidbodyConstraints.FreezePositionX与RigidbodyConstraints.FreezePositionX进行比较,这显然是正确的,然后尝试应用&-运算符,这导致:if(rigidbody.constraints&true)不起作用。。。同样的问题操作员&不能在ConstaintsThat奇怪,因为这次我在发布之前尝试了它,它对我有效,也许你可以发布你的代码的那部分