2013-10-25 3 views
1

Я пытаюсь сделать простые вещи на Unity3d, и одна из этих вещей заключается в том, чтобы проверить, имеет ли Rigidbody Constraints Enlock Freeze Position X, Y, Z углы. Я проверяю сеть, но все Q - это то, как добавить свойства и не удалось найти способ получить свойство. Я был бы рад, если кто-нибудь скажет мне.Unity3D Жесткие ограничения Получить свойство

ответ

2

для й-м положения он должен быть:

if((rigidbody.constraints & RigidbodyConstraints.FreezePositionX) == RigidbodyConstraints.FreezePositionX) 
{ 
    // x-position is frozen 
} 

см http://docs.unity3d.com/Documentation/ScriptReference/RigidbodyConstraints.html для других вариантов

также попытаться искать bitflag учебников :)

редактирования: исправлена ​​недостающих скобок

+0

+ 1: yes..right..you был быстрее меня :) – Heisenbug

+0

ошибка CS0019: Оператор '& 'не может быть применен к операндам типа' UnityEngine.RigidbodyConstr aint 'и 'bool' ::: когда я делаю следующий код – user2919973

+0

Вы правы, я пропустил пару скобок, компилятор сравнивал RigidbodyConstraints.FreezePositionX с RigidbodyConstraints.FreezePositionX, который, очевидно, правдивый, а затем попытался применить & - оператор, который привел к: if (rigidbody.constraints & true) – Tom

Смежные вопросы