我一直在尝试掌握来自XNA / Farseer背景的HTML5游戏编写。
box2dweb似乎缺少ApplyLinearImpuse()和ApplyAngularImpulse()方法。
我甚至看过here的源代码,看起来就是这样。
有人知道为什么没有提供这些方法吗?
发布于 2013-08-03 09:37:48
刚才我也需要同样的东西。幸运的是,实现或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;
}
};一般来说,要获得C++版本中还没有移植到Flash或JavaScript版本中的功能,你可以看看the original source,然后像上面那样把它们移植到自己身上。即使您不熟悉C++,代码也很容易理解。
https://stackoverflow.com/questions/13878789
复制相似问题