【发布时间】:2014-04-22 18:23:32
【问题描述】:
我对 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());
};.
需要碰撞的两个对象是b2_dynamicbody(球)和b2PolygonShape。 (长方形)。在我的 Ball.js 中使用 bodyDef.userData = "Ball"; 和在我的 Mouse.js 中使用 bodyDef.userData = "Mouse"; 我尝试确定它们是否被击中。而是只显示球。
接下来,我确定这不是检测碰撞的正确方法:P 我希望我已经解释得足够好,有人可以引导我朝着正确的方向前进吗?
【问题讨论】:
标签: javascript box2d collision box2dweb