box2D(javascript)

问题描述:

我刚刚开始使用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

我正在做类似iOS的事情,但处理它的一个好方法是使图像保存在div中的信息。然后你可以制作一个精灵,并将其添加为box2d正文的userData。当你更新(在iOS中打勾:方法,我不确定JavaScript),然后你遍历所有的身体和调整精灵的位置。 box2d世界应该为你做所有事情。

+0

我喜欢这些例子,但你有没有更简单的事情。可能只是在屏幕上显示一个圆或一些简单的对象。 –