Как узнать, когда спрайт перестал двигаться - PullRequest
1 голос
/ 10 июня 2011

В бурундуке / cocos2d у меня есть классическая демонстрация прыгающего мяча, счастливо работающая с произвольным количеством шаров.Как я могу узнать, когда спрайт прекратил движение (т.е. шарик опустился на дно и «готово»)?

Я попытался объявить float prevX, prevY в классе Layer, чтобы я мог сравнить ток x, y к предыдущему x, y в updateShape, но я не могу получить доступ к родителю спрайта.

         ((CustomLayer *)(sprite->parent))->preX = body->p.x;

Компилятор сообщает мне, что родитель спрайта защищен.

Спасибо.

1 Ответ

2 голосов
/ 10 июня 2011

Если у вас включен спящий алгоритм Бурундука, вы можете просто вызвать cpBodyIsSleeping ().

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

...