2013-10-12 58 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。你可能會想要使用一個循環,除非你確定你會更新的將兩個形狀合併成一個單一的體。