标签: box2dweb

如何在碰撞后删除Box2dWeb中的主体

在Update函数内部,如果2个实体发生碰撞,我想删除它们(或将它们标记为需要删除,并在时间步骤结束时删除它们).我怎么做到这一点?

在更新功能中我尝试

var bodyA = this.m_fixtureA.m_body;
...
bodyA.m_world.DestroyBody(bodyA);
Run Code Online (Sandbox Code Playgroud)

但是,它们不会被删除.似乎当我尝试删除它们时,this.IsLocked()设置为true.

javascript box2dweb

5
推荐指数
1
解决办法
1817
查看次数

如何在nodejs中包含liquidfun物理引擎

我一直在用box2dweb和node.js 制作游戏.一切都运转正常,直到我决定改用Google的LiquidFun引擎,该引擎也基于Box2d.

在box2dweb中,我可以通过将以下内容添加到box2d.js文件的底部来导出我需要的模块.

module.exports = {
  b2Vec2: Box2D.Common.Math.b2Vec2,
  b2BodyDef: Box2D.Dynamics.b2BodyDef,
  b2Body: Box2D.Dynamics.b2Body
};
Run Code Online (Sandbox Code Playgroud)

LiquidFun在其编译文件中不使用相同的命名空间,所以我试过:

module.exports = {
  b2Vec2,
  b2BodyDef,
  b2Body
};
Run Code Online (Sandbox Code Playgroud)

我没有运气让node.js导出我需要的任何功能.有人可以告诉我如何正确导出LiquidFun吗?

javascript node.js box2dweb liquidfun

5
推荐指数
1
解决办法
965
查看次数

box2djs 中的弹簧效果

我想使用 box2djs 模拟弹簧效果。经过大量搜索,我认为可以使用该距离关节(我不确定)。我尝试了以下代码,但我看不到身体之间的任何关节。

 distance_joint = new b2DistanceJointDef();

distance_joint.body1 = Body1;

distance_joint.body2 = Body2;

distance_joint.localAnchorA = new b2Vec2(0, 0);

distance_joint.localAnchorB = new b2Vec2(0, 0);

distance_joint.length = 3;

distance_joint.collideConnected = true;

return world.CreateJoint(distance_joint); 
Run Code Online (Sandbox Code Playgroud)

任何的想法...

谢谢

box2d box2dweb

4
推荐指数
1
解决办法
4899
查看次数

使用KineticJS和box2dweb

如何使用kineticJS和box2dweb以便我可以进行碰撞检测?比如,如何在通过kineticJS渲染的图像周围放置圆形边界并通过box2dweb应用物理?

有没有关于这个或任何可以帮助我的代码的好教程?或者有什么有效的方法可以与kineticJS本身进行碰撞检测?

javascript html5 kineticjs box2dweb

3
推荐指数
1
解决办法
1273
查看次数

Box2D - 收集一枚硬币

我是Box2D的新手,我正在尝试制作一个简单的游戏,其中角色跳跃并挑选一枚硬币.我能够创建一个联系人监听器并在检测到联系人时删除硬币.问题是角色和硬币相撞.我能够过滤掉他们的联系,但我无法确定角色是否击中了硬币.我确信必须有一些相对简单的方法,因为几乎每场比赛都有收藏品,但我没有找到实现这一目标的方法.

谢谢你的回答.

box2d game-physics box2dweb

2
推荐指数
1
解决办法
560
查看次数