#java #libgdx #box2d
#java #libgdx #box2d
Вопрос:
Я пытаюсь добавить пользовательские данные в тело:
Body body = world.createBody(foo);
body.setUserData(ObjectStuff);
И когда я повторно получаю данные, они всегда возвращают значение null. Я знаю, что это из-за способа, которым я установил данные.
Редактировать:
Я бы извлек данные непосредственно из тела, и теперь я вижу, что при этом потенциально могут возникнуть проблемы.
Array<Body> bodies = new Array<Body>;
world.getBodies(bodies);
for(int i=0; i<bodies.size;i ) {
Body body = bodies.get(i);
Object foo = (Object) body.getUserData();
}
Ответ №1:
Вы задаете пользовательские данные правильным образом, покажите код, из которого вы их получаете body
. Также убедитесь, что вы вызываете: fixtureA.getBody().getUserData();
а не просто fixtureA.getUserData();
. У приспособления и тела разные пользовательские данные.
Комментарии:
1. Или body.createFixture(FixtureDef).setUserData(obj)