2013-10-12 59 views
1

我可以很容易地得到身体的位置,但假设它是一个盒子,我如何确定盒子的坐标,以便我可以显示它?我如何获得JBox2d身体尺寸

为了让它显示出来,我将它硬编码为10 x 10,但如果我画的是墙,它应该很高,而移动平台应该更小更宽。

public void draw() { 
    if (bodySocket.isConnected()) { 
     world = JSONObject.parse(getWorld()); 
    } else { System.exit(1); } 
    background(100); 
    Iterator<?> keys = world.keyIterator(); 
    String key; 
    JSONObject body; 
    while (keys.hasNext()) { 
     key = (String)keys.next(); 
     body = world.getJSONObject(key); 
     rectMode(PApplet.RADIUS); 
     fill(255, 100); 
     rect(body.getFloat("x"), fieldBottom - body.getFloat("y"), 10, 10); 
    } 
} 

回答

0

请看org.jbox2d.dynamics中的Fixtures类。它用于将碰撞形状附着到物体上。 仅仅通过查看源代码,我猜你可以使用Shape shape = body.m_fixtureList.m_shape来获得身体的第一个Shape。你可能会想要使用一个循环,除非你确定你会更新的将两个形状合并成一个单一的体。