问题标签 [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.
javascript - 如何检测对象是否在特定位置休眠?
我目前正在用 box2dweb 编写一个小游戏,为此我需要一些指导:我正在投掷一个盒子或球,当被投掷的物体不再移动时,我必须击中一个特定的地方并触发一个事件,”睡着了”可以这么说。
什么是正确的方法/最佳实践?
html - Box2dWeb 缺少 ApplyLinearImpuse() 和 ApplyAngularImpulse() 方法?
我一直在努力掌握来自 XNA / Farseer 背景的 HTML5 游戏写作。
似乎 box2dweb 缺少 ApplyLinearImpuse() 和 ApplyAngularImpulse() 方法。
我什至在这里查看了源代码,似乎是这样。
有谁知道为什么不提供这些方法?
javascript - 方框 2d:重力和碰撞
我正在使用 box2dweb 2.1a3 和一个问题(我想重现愤怒的小鸟):
我读取了一个具有级别的文件,当 box2d 主体(#1)与其他东西(#2)发生碰撞时,我想销毁第一个主体(#1)。但是当我将 b2d 骨放在另一个 b2d 主体上时,这些有时会发生碰撞(级别没有像素完美)。
当然,我可以发布我的代码的某些部分。
javascript - Box2dWeb 动态与静态实体恢复
我有一个带有一些动态物体的 Box2dWeb 模拟。我对所有动态物体都使用了相同的夹具,如下所示:
我认为将恢复设置为 0 可以防止任何弹跳,但是当产生一堆动态物体时,它的作用就像一个弹簧。例子在这里。我错过了什么?
javascript - Box2dWeb 自定义形状交互
我有一个带有自定义形状主体的 Box2DWeb 模拟,但它根本不与其他主体交互。调试图显示检测到碰撞但没有效果。阅读有关自定义形状的信息,我没有找到任何设置来启用碰撞,我不知道出了什么问题。自定义形状体是这样创建的,我也在此处发布了示例:
javascript - 碰撞后如何在 Box2dWeb 中移除身体
在 Update 函数内部,如果 2 个物体发生碰撞,我想移除它们(或将它们标记为需要移除,并在时间步结束时移除它们)。我将如何做到这一点?
在更新功能中我尝试
但是,它们不会被删除。似乎当我试图删除它们时,this.IsLocked() 设置为 true。
kineticjs - 在 KineticJS 中使用变换矩阵
我有一个用 Box2Dweb 模拟的身体和一个附在身体上的图像。我想获取身体变换矩阵并将变换应用于图像(使用变换绘制图像),使其在屏幕上的位置和方向(相对)与身体的位置和方向相匹配。我在 KineticJS 中找不到与转换矩阵一起使用的函数。有用于移动和旋转的单独函数,并且有一个Kinetic.Transform
内部包含一些“矩阵”的类,但我不知道如何处理它。某处还有一个_setTransform
函数,但同样不知道如何使用它(下划线是否表明我不能直接调用它或什么?)。
我用这段代码在纯 Javascript 中绘制了身体上的图像:
我如何对 KineticJS 做同样的事情?
编辑:显然,我可以从 Box2d 获得的唯一转换是平移和旋转,我可以通过在 Box2d 主体上调用GetPosition()
和来获得,然后使用和GetAngle()
应用于 KineticJS 图像。所以我在这里并不需要矩阵形式的转换。不过,很好奇。setX(), setY()
setRotation()
javascript - 如何在javascript中将父类转换为子类
我正在使用box2dweb并且我正在尝试制作一个函数,该函数将添加说明如何根据“身体”形状绘制“身体”。
即:当收到一个'b2BodyDef'时得到形状,并结合外部信息,得到形状规格。为此,我需要将“b2Shape”转换回“b2CircleShape”。
我想用 C++ 这会像
我如何用javascript做类似的事情?我知道还有很多其他方法可以做到这一点(比如在这个例子中传递想要的半径作为参数),但我想做我觉得正确的事情,而不是 hack。
早些时候我有:
box2d - 在 box2d 中的每一步执行代码
在box2d的每个步骤(解决)中执行代码而不是每帧一次的方式是什么?
box2d - Box2D - 收集硬币
我对 Box2D 还很陌生,我正在尝试制作一个简单的游戏,其中角色跳跃并捡起硬币。当检测到联系人时,我能够创建一个联系人监听器并删除硬币。问题是字符和硬币相撞。我能够过滤掉他们的联系方式,但我无法确定角色是否击中硬币。我相信肯定有一些相对简单的方法可以做到这一点,因为几乎每场比赛都有收藏品,但我只是没有找到实现这一点的方法。
感谢您的回答。