Html Box2dWeb是否缺少ApplyLinerImpuse()和ApplyAngularImpulse()方法?

Html Box2dWeb是否缺少ApplyLinerImpuse()和ApplyAngularImpulse()方法?,html,canvas,box2d,box2dweb,Html,Canvas,Box2d,Box2dweb,我一直在努力学习XNA/Farseer背景下的HTML5游戏写作 box2dweb似乎缺少ApplyLinerImpuse()和ApplyAngularImpulse()方法 我甚至看了资料来源,似乎是这样的 有人知道为什么不提供这些方法吗?刚才我需要同样的东西。幸运的是,ApplyAngularImpulse的实现非常简单。您可以将以下内容添加到代码中,以将其修补到box2d: Box2Dweb b2Body.prototype.ApplyAngularImpulse = function(i

我一直在努力学习XNA/Farseer背景下的HTML5游戏写作

box2dweb似乎缺少ApplyLinerImpuse()和ApplyAngularImpulse()方法

我甚至看了资料来源,似乎是这样的


有人知道为什么不提供这些方法吗?

刚才我需要同样的东西。幸运的是,ApplyAngularImpulse的实现非常简单。您可以将以下内容添加到代码中,以将其修补到box2d:

Box2Dweb

b2Body.prototype.ApplyAngularImpulse = function(impulse) {
    if (this.IsAwake() == false) {
        this.SetAwake(true);
    }
    this.m_angularVelocity += this.m_invI * impulse;
};
Box2Djs

b2Body.prototype.ApplyAngularImpulse = function(impulse) {
    if (this.IsSleeping() == false)
    {
        this.m_angularVelocity += this.m_invI * impulse;
    }
};

一般来说,为了获取尚未被移植到Flash或JavaScript版本的C++版本中的特性,可以查看并将它们自己移植到上面。即使你不熟悉C++,代码也是相当接近的。

可能是因为它们不存在于BOX2D版本的BOX2D版本中。精彩内容!