我试图用 Google的LiquidDun 库替换我当前的Box2D库(box2dweb.js)。
主要的区别似乎是他们将所有 b2#ClassName#类放在了全局范围内,而不是保持模块化(在像box2dweb这样的Box2D.*
namespace 中)。
但是似乎他们也省略了一些 b2#ClassName#,我在Box2dWeb.js版本中使用了其中的两个:
是否已弃用/未完全实现/遗忘了那些?
最佳答案
只需将侦听器定义为函数的对象,如下所示:
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翻译问题,那么这是一个很好的起点。
关于javascript - 在liquidfun.js中是否已替换了b2DebugDraw和b2ContactListener?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25899357/