私は、XNA/FarseerのバックグラウンドからのHTML5ゲームの作成に取り掛かろうとしています。
box2dwebにApplyLinearImpuse()メソッドと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 ++に精通していない場合でも、コードはかなり親しみやすいものです。