2013-08-08 3 views
0

Я использую Box2D в Java с LIBGDX. Я пытаюсь создать треугольник, используя PolygonShape. При вызове setVertices сбой моего кода. Для меня нет кода ошибки или трассировки стека.Не удается установить вершины PolygonShape Box2D

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

PolygonShape shape = new PolygonShape(); 
//app crashes on call to set. 
shape.set(new float[] { 0.26666668f, -0.043010756f, -0.008602151f, 
    -0.18064517f, -0.18064517f, -0.26666668f }); 

Я гарантировал, что мои вершины находятся в порядке против часовой стрелки. Эти точки определяют простой выпуклый треугольник.

Может ли кто-нибудь сказать мне, что я здесь делаю неправильно?

ответ

0

Если вы подсчитаете наклон между указанными точками, вы все будете в пределах .5 с очень небольшой разницей. Я думаю, Box2D жаловался, потому что все точки лежали примерно на одной линии.

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

1

Возможно, это связано с сбоем в части собственного кода. Есть вероятность, что у вас upgraded to a newer version of gdx, заменив libgdx jar's, но не заменив libgdx.so?

+0

Спасибо за ответ. Да, я думаю, поэтому я не ошибаюсь. Обычно я получаю распечатку. Нет, я никогда не обновлялся. Не знаю, какую версию я использую. Пытался проверить это и не может найти номера версий ни на чем. Какая бы последняя версия не была 4-6 месяцев назад. –

+0

Стоит попробовать с [ночным] (http://libgdx.badlogicgames.com/nightlies/) – Aert

+0

Я понял, спасибо за помощь. Я собираюсь отправить решение и принять завтра. –