2011-10-06 28 views
1

我剛剛開始使用box2d。我能夠創建一些對象並創建一個使用這些對象的世界。例如,要創建一個盒子(摘自:http://box2d-js.sourceforge.net/index2.html),我可以這樣做是這樣的:box2D(javascript)

elements = getElementsByClass("box2d"); 
     for (var i = 0; i < elements.length; i ++) { 
     properties[i] = getElementProperties(elements[i]); 
     bodyDef.type = b2Body.b2_dynamicBody; 
     var data = { element: elements[i]}; 
     bodyDef.userData = data; 
     fixDef.shape = new b2PolygonShape; 
     fixDef.shape.SetAsBox(2 //half width , 2); 
     bodyDef.position.x = Math.random() * 10; 
     bodyDef.position.y = Math.random() * 10; 
     world.CreateBody(bodyDef).CreateFixture(fixDef); 
     } 

我想要做的是採取的div文字,把這些div與文成形狀和使用它們Box2D的。我真的不知道從哪裏開始。我現在正在使用userData屬性,認爲這至少是一個開始。

我找到了一個很好的例子在這裏的行動:http://mrdoob.com/projects/chromeexperiments/google_gravity/

getElementProperties和getElementsByClass定義。我正在考慮使用getElementProperties來設置形狀尺寸。

+2

那麼,什麼是你的問題? – robertc

+0

通過閱讀該示例中的代碼,您似乎可以翻譯該代碼,但是我沒有看到一個開源許可證,因此在法律上你不能。如果你可以在HTML中設置所有你想成爲box2d元素的元素。 – placeybordeaux

回答

1

我正在做類似iOS的事情,但處理它的一個好方法是使圖像保存在div中的信息。然後你可以製作一個精靈,並將其添加爲box2d正文的userData。當你更新(在iOS中打勾:方法,我不確定JavaScript),然後你遍歷所有的身體和調整精靈的位置。 box2d世界應該爲你做所有事情。