физикаОграничение вращения тела

У меня есть следующий узел, установленный следующим образом.

box.physicsBody.allowsRotation = YES;

Неважно, какая сила приложена к этому ящику, я хочу, чтобы он никогда не падал и не поворачивался больше, чем на определенный угол, точно так же, как дерево или пружина, которые могут полностью согнуться вниз, но имеют тенденцию возвращаться к исходному углу или должность.

Есть ли какой-нибудь трюк или метод для этого?

Я подумал, может быть, соединить невидимое невращающееся физическое тело под коробкой и использовать метод совместной пружины для того, что я понятия не имею, как это работает!

Или, может быть, есть хитрость, чтобы играть с стержнем. Есть идеи?


person adimona    schedule 17.05.2014    source источник


Ответы (1)


В методе update: вам придется постоянно проверять свойства желаемого узла. В вашем случае это будет свойство zRotation вашего узла.

Добавьте этот код в свой метод update::

if(yourNode.zRotation > 0.5)
    yourNode.zRotation = 0.5;

if(yourNode.zRotation < -0.5)
    yourNode.zRotation = -0.5;

Измените значение 0,5 на желаемое значение или замените его на static const float.

person sangony    schedule 17.05.2014
comment
Спасибо sangony, сработало нормально, особенно когда заменил на экшн и небольшой временной интервал. - person adimona; 18.05.2014