我对 javascript 和 box2d 还很陌生,我想知道是否有人知道当两个对象碰撞时我如何调用自定义函数。我尝试使用一些b2ContactListener
没有任何成功的例子。我已经将一个对象放在另一个对象之上,然后让标准的 Box2d 物理来做这件事。
我收到两个控制台输出,第一个是null
,第二个是Ball
使用以下代码:
var listener = new Box2D.Dynamics.b2ContactListener;
listener.BeginContact = function(contact) {
console.log(contact.GetFixtureA().GetBody().GetUserData());
console.log(contact.GetFixtureB().GetBody().GetUserData());
};.
需要碰撞的两个对象是 a b2_dynamicbody
(ball) 和 a b2PolygonShape
。(长方形)。bodyDef.userData = "Ball";
在我的 Ball.js 和 Mouse.js中使用,我bodyDef.userData = "Mouse";
尝试确定它们是否被击中。而是只显示球。
接下来我确定这不是检测碰撞的正确方法:PI希望我已经解释得足够好,有人可以引导我朝着正确的方向前进吗?