Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
box2D(javascript)_Javascript_Html_Box2d - Fatal编程技术网

box2D(javascript)

box2D(javascript),javascript,html,box2d,Javascript,Html,Box2d,我刚刚开始使用box2d。我能够创建一些对象,并创建一个使用这些对象的世界。例如,要创建一个框(取自:),我可以这样做: elements = getElementsByClass("box2d"); for ( var i = 0; i < elements.length; i ++ ) { properties[i] = getElementProperties( elements[i] ); bodyDef.type = b2Bod

我刚刚开始使用box2d。我能够创建一些对象,并创建一个使用这些对象的世界。例如,要创建一个框(取自:),我可以这样做:

    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);
      }
elements=getElementsByClass(“box2d”);
对于(var i=0;i
我想做的是将带有文本的div转换成形状,并在box2D中使用它们。我真的不知道从哪里开始。我现在使用userData属性,认为这至少是一个开始

我在这里发现了一个很好的例子:


定义了getElementProperties和getElementsByClass。我正在考虑使用getElementProperties来设置形状尺寸。

我正在用iOS做类似的事情,但一个很好的方法是利用div中保存的信息制作图像。然后你可以用该图像制作精灵,并将其添加为box2d body的用户数据。当您更新(iOS中的tick:method,我不确定是否使用javascript)时,您将迭代所有实体并调整精灵的位置。box2d world应该为您做其他一切。

您可以参考此示例


通读该示例中的代码,您似乎可以直接删除该代码,但我看不到如此合法的开源许可证。如果你能在HTML中设置所有的元素,你想用这个标签把它们变成box2d元素,我喜欢这些例子,但是你有更简单的吗。可能只是在屏幕上显示一个圆圈或一些简单的物体。