Как заставить движущийся объект «прилипать» к стационарному объекту в box2D - PullRequest
2 голосов
/ 21 октября 2010

Я экспериментировал с примером проекта box2D в рамках cocos2D для iPhone, и мне интересно, является ли box2D подходящим движком, чтобы заставить движущийся объект "прилипать" к неподвижному объекту, когда движущийся объект заканчивает движение в определенном местенаправление.

Вот упрощение того, чего я пытаюсь достичь: у меня есть MovingObject, динамическое твердое тело, которое движется вертикально против силы тяжести, когда к нему приложено достаточно силы.При перемещении MovingObject он может перекрывать статический объект StationaryObject.Когда гравитация уменьшает скорость MovingObject до нуля, так что он больше не движется, я бы хотел, чтобы MovingObject оставался там, где он есть, ТОЛЬКО если он перекрывает StationaryObject.Если объекты не перекрываются, MovingObject должен начать двигаться обратно вниз к земле под действием силы тяжести.Во время этого спуска, если MovingObject в любое время перекрывает StationaryObject, он должен остановить его спуск и остаться в этом месте, как если бы он застрял в StationaryObject.

Я могу заставить MovingObject двигаться в соответствии с прилагаемыми силамик этому, но не совсем уверен, как заставить его остановиться и остаться там, когда он достигнет вершины своего подъема, предполагая, что он перекрывает StationaryObject.

В настоящее время я экспериментирую с простыми объектами типа квадрат / прямоугольник, но в конечном итоге обаMovingObject StationaryObject будет определен как очень разные сложные формы многоугольника.

Заранее благодарим за любые идеи и / или предложения для достижения этой цели.

1 Ответ

0 голосов
/ 28 декабря 2010

Похоже, вы захотите изменить тип прибора, используемого для «MovingObject», когда он «поднимается», а затем изменить его, когда он «спускается», чтобы он реагировал по-разному (на перекрытия).

"перекрытием" кажется, что вы хотите достичь чего-то похожего на "односторонние платформы" в платформенной игре (например, Mario Bros.) - я бы порекомендовал поискать решения для односторонних платформ для начинающих.

...