问题标签 [box2dweb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
549 浏览

box2dweb - 如何解决 Box2D 中用于 javascript 端口的内存泄漏问题?

据我所知,Web 的 Box2D 版本正在泄漏内存,没有删除正文,也没有删除联系人。那么我该如何解决这个问题呢?

在这里查看我的相关问题,解释如何泄漏:如何正确删除版本中的 box2d 主体:Box2dWeb-2.1.a.3,Box2D_v2.3.1r3?Box2D 错误?

0 投票
1 回答
814 浏览

box2d - 在运行时创建关节时,对象瞬移

我有两个对象,当它们之间的距离小于 10 时,我创建了一个关节:

然而,问题在于,一个物体在另一个物体上传送/跳跃。预期的行为是一个对象在另一个对象之上缓慢移动。

任何想法?谢谢。

0 投票
1 回答
172 浏览

meteor - Box2d-Web 与 Meteor

我想 在客户端和服务器端都使用Box2D-Web 。Meteorjs我在nodejs. 有一个导出Box2D变量的小配置,它正在使用nodejs. 附加配置 exports.Box2D = Box2D; 位于库的底部。

但是我无法加载它meteor。我将目录Box2D-web放在lib我的项目中。但它给出了一个错误,我仍然不明白问题是什么。

这是流星所说的;

Box2D-Web 库没有错误。我试图找到错误的任何替代含义,但是我也找不到任何东西。

当我将库放在lib项目根目录下的文件夹下时发生此错误。

我没有把库的所有代码都放在这里。因为它真的由太多的代码行组成。

我可以在库中进行哪些额外的配置来将其应用于Meteorjs

谢谢!

0 投票
1 回答
59 浏览

mouse - mouseJoint box2dweb 不起作用

我正在尝试使用 mousejoint 用鼠标捕捉对象。因为我是个傻瓜,所以我偷了代码。但它不工作或我。

我收到此错误:

Uncaught TypeError: Object #< ba > has no method 'IsActive' Box2dWeb-2.1.a.3.min.js:236 Uncaught TypeError: Object #< ba > has no method 'SetAwake' Box2dWeb-2.1.a.3.min .js:223

这是代码:

这就是身体

}

也许有人可以帮忙?

法尔克

0 投票
2 回答
140 浏览

box2d - Box2D:如何聆听添加到世界或从世界中移除的实体?

在 Box2D 中,我如何聆听添加到世界或从世界中移除的实体?我想用它们进行调试。

0 投票
1 回答
165 浏览

javascript - 使用 box2dweb 绘制精灵动画

我要做的基本上是在我的box2d项目中制作这个动画http://jsfiddle.net/TLYZS/6/,但是我在每一帧的绘制逻辑上遇到了一些麻烦,这是迄今为止的结果:http:/ /jsfiddle.net/H8e9m/6/ 如何修复身体绘制功能以使动画工作?如您所见,我只能绘制动画精灵的第一帧,我找不到在第一个 jsfiddle 中显示完全相同的动画的方法,您可以在其中看到角色处于空闲模式。感谢任何帮助

这是绘图功能,问题可能在这里

这是动画变量和更新函数

请检查我的 jsfiddle 以查看到目前为止的进度并告诉我如何解决此问题

0 投票
1 回答
1074 浏览

javascript - 在javascript中确定移动设备上的哪个方向?

我正在使用 Box2D 创建一个工具,并想看看是否有一种方法可以匹配作用在移动设备上的真实重力方向。

通过绑定到 devicemotion 事件,我已经完全在 iPad 上工作了。我检查窗口的宽度是否大于其高度,以确定用户是在横向还是纵向模式下握持设备,并根据该事实转换加速度计提供的数据。例如,如果 iPad 的 Home 键位于设备底部,则 y 为负值,对应于重力,正如您所料。如果设备向左或向右旋转 90 度,y 向 0 移动,x 要么增加到 9.8,要么减小到 -9.8。

问题是,当我移动到默认方向为横向的 Android 设备时(即,设备的硬件布置方式很明显,它主要用于横向),x 和 y 坐标是相反的并且窗口的高度大于其宽度的事实不能用于确定用户是否在顶部“向上”和底部“向下”的情况下握住设备。

是否有一种更通用的方法可以让我确定设备被握持的方向,从而知道我应该如何解释加速度计数据,以便我的重力始终相对于地球?

这是我用来确定属性值的方法的一个快速片段。

window.addEventListener('devicemotion', function(e) { console.log(e.accelerationIncludingGravity.x); console.log(e.accelerationIncludingGravity.y); })

0 投票
1 回答
336 浏览

javascript - 物体碰撞时 Box2dWeb 调用函数

我对 javascript 和 box2d 还很陌生,我想知道是否有人知道当两个对象碰撞时我如何调用自定义函数。我尝试使用一些b2ContactListener没有任何成功的例子。我已经将一个对象放在另一个对象之上,然后让标准的 Box2d 物理来做这件事。

我收到两个控制台输出,第一个是null,第二个是Ball使用以下代码:

需要碰撞的两个对象是 a b2_dynamicbody(ball) 和 a b2PolygonShape。(长方形)。bodyDef.userData = "Ball";在我的 Ball.js 和 Mouse.js中使用,我bodyDef.userData = "Mouse";尝试确定它们是否被击中。而是只显示球。

接下来我确定这不是检测碰撞的正确方法:PI希望我已经解释得足够好,有人可以引导我朝着正确的方向前进吗?

0 投票
2 回答
6379 浏览

javascript - 为什么我的函数返回未定义?

使用easeljs 和box2d,我创建了几个相互碰撞的对象。使用以下代码,我在屏幕上创建了一个框:

在我的脚本中的某个点,盒子与一个圆圈碰撞,当这种情况发生时,一个三角形必须向盒子吐温。所以我需要盒子的位置!在我的Box.js我有以下功能:

我已经为以下函数替换了相同的函数:

两个函数在我使用的浏览器控制台返回相同的值console.log(b.getX);,这是未定义的。我是否需要使用我的返回函数传递一个参数,或者我的函数结构不正确?

0 投票
1 回答
925 浏览

box2d - Box2d:旋转关节的起始角度

我的印象是,要以旋转关节的指定角度启动身体,您需要设置参考角度。这对我不起作用。改变 referenceAngle 时唯一改变的是限制的位置。

我正在使用 box2dweb(javascript 版本)。如果您愿意看一看,我为您创建了一个演示。有两个具有旋转接头的相同结构。它们都有 -90 度到 90 度的角度限制。唯一的区别是顶部结构的参考角度为 0 度,而底部结构的参考角度为 90 度。是的,我知道他们接受以弧度表示的角度——如果您查看源代码,您会发现我使用了转换器功能。

同样,我试图以某个角度启动身体/关节。我确定我可能只是做错了,但如果这是 box2dweb 的问题,是否有解决方法/替代方法来设置起始角度?还是我没有将 referenceAngle 用于正确的目的?

这是--演示