我试图用 Google的LiquidFun 库替换我当前的Box2D库( box2dweb.js )。
主要区别似乎是他们将所有 b2#ClassName#类放在全局范围内,而不是保持模块化(在Box2D.*
命名空间中,如 box2dweb 做了)。
但似乎他们也省略了一些 b2#ClassName#,其中两个是我在Box2dWeb.js版本中使用的:
那些已弃用/未完全实施/遗忘?
答案 0 :(得分:1)
只需将侦听器定义为函数对象,如下所示:
var listener = {
BeginContactBody: function(contact) {
console.log(contact.GetFixtureA());
},
EndContactBody: function(contact) {
console.log(contact.GetFixtureA());
},
PostSolve: function(contact, impulse) {
},
PreSolve: function(contact, oldManifold) {
}
}
world.SetContactListener(listener);
看https://github.com/google/liquidfun/blob/master/liquidfun/Box2D/lfjs/jsBindings/Dynamics/b2World.js帮我解决了这个问题,所以如果你遇到其他c ++ - > javascript翻译问题,这是一个很好的起点。