2

私は、XNA/FarseerのバックグラウンドからのHTML5ゲームの作成に取り掛かろうとしています。

box2dwebにApplyLinearImpuse()メソッドとApplyAngularImpulse()メソッドがないようです。

私はここでソースを見たことがありますが、そうであるようです。

これらのメソッドが提供されない理由を誰かが知っていますか?

4

1 に答える 1

3

ちょうど今、私は同じものが必要でした。幸いなことに、実装または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 ++に精通していない場合でも、コードはかなり親しみやすいものです。

于 2013-08-03T01:37:48.103 に答える