2012-04-09 2 views
0

Я использую Box2d.Как продолжить цепочку?

Я создаю ChainShape.

Внезапно мне нужно продолжить цепь.
Я знаю команду SetNextVertex(b2Vec2(-2.0f, 0.0f));

Как использовать? Как продолжить цепочку?

+0

не имеют смысла для меня –

+0

Вам нужно будет сделать еще один прибор и заменить оригинал. – iforce2d

+0

iforce2d, ну, тогда что помогает SetNextVertex? – Sinba

ответ

0

Здесь вы создали Loop (первая и последняя вершины связаны). Таким образом, цепь завершена.

Если вам не нужен цикл, вы должны были использовать CreateChain.

См 4.6 Цепные Формы в http://box2d.org/manual.pdf

+0

Я прочитал это, я хочу продолжить цепочку! – Sinba

0

Единственное действующее решение, как iforce2d упоминает, чтобы создать новый прибор и заменить оригинал.

Почему?

As Andrew упомянутый. «вы создали Loop (первая и последняя вершины связаны)».

Что означает реализация мудрое: скажем, у вас есть три вершины: A: (0,0); В: (0,5); С: (5,0). CreateLoop (вершины, 3) будет иметь длину 4, а не 3 ... индекс 0: A, 1: B, 2: C и 3: A (обратите внимание на A снова). То, что SetNextVertex делает, добавляет еще одну вершину D: (1,1) в обратную сторону (т. Е. Торможение цикла), 4: D. К сожалению, вы не можете вставить вершину перед последним индексом, тем самым поддерживая цикл.

Если вы хотите, чтобы продолжить добавление вершины в петлю, задать для запроса особенности :)

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