首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >box2D (javascript)

box2D (javascript)
EN

Stack Overflow用户
提问于 2011-10-06 10:23:41
回答 2查看 2.1K关注 0票数 1

我才刚刚开始使用box2d。我能够创建一些对象,并创建一个使用这些对象的世界。例如,要创建一个框(取自:http://box2d-js.sourceforge.net/index2.html),我可以这样做:

代码语言: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转换为形状,并在box2D中使用它们。我真的不知道该从何说起。我现在使用userData属性,认为这至少是一个开始。

我在这里找到了一个很好的例子:http://mrdoob.com/projects/chromeexperiments/google_gravity/

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

EN

回答 2

Stack Overflow用户

发布于 2012-02-20 17:35:19

我正在用iOS做一些类似的事情,但是处理它的一个好方法是用div中保存的信息制作图像。然后,您可以从该图像生成一个精灵,并将其添加为box2d body的userData。当你更新的时候( iOS中的tick: method,我不确定javascript),然后你迭代所有的主体并调整sprite的位置。box2d世界应该为您做所有其他的事情。

票数 1
EN

Stack Overflow用户

发布于 2012-09-20 19:06:18

你可以参考这个样本。

http://jsbin.com/efequk/5

http://www.jeremyhubble.com/box2d.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7669757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档