我无法在任何地方找到答案,我开始怀疑这是否可行。如何在LIbgdx“Invisble”中保持身体?因此,它将保持与所有事物的互动,并像常规身体一样行动,但不会被渲染
答案 0 :(得分:1)
您可以创建自己的Box2dDebugRenderer并覆盖renderBody
方法。
class MyBox2dRenderer extends Box2DDebugRenderer {
private ArrayList<Body> notRenderingBodies; // array of vodies that you dont want to render
public MyBox2dRenderer(ArrayList<Body> notRenderingBodies) {
super();
this.notRenderingBodies = notRenderingBodies;
}
@Override
protected void renderBody(Body body) {
for (Body b : notRenderingBodies) { // loop through all bodies in array
if (b == body){ // if given body equals by reference to one from list than return
return;
}
}
super.renderBody(body);
}
public ArrayList<Body> getNotDenderingBodies() {
return notRenderingBodies;
}
public void setNotDenderingBodies(ArrayList<Body> notDenderingBodies) {
this.notRenderingBodies = notDenderingBodies;
}
}