2012-12-14 2 views
2

저는 XNA/Farseer 배경에서 오는 HTML5 게임 글쓰기에 익숙해졌습니다.Box2dWeb에 ApplyLinearImpuse() 및 ApplyAngularImpulse() 메서드가 누락 되었습니까?

box2dweb에 ApplyLinearImpuse() 및 ApplyAngularImpulse() 메소드가 누락 된 것으로 보입니다.

나는 심지어 소스 here을 보았습니다.

이 방법이 제공되지 않는 이유를 아는 사람이 있습니까?

+1

아마도 box2dweb이 당시 포팅 된 Box2D 버전에 존재하지 않았기 때문일 수 있습니다. – iforce2d

+0

iforce2d 감사합니다. 사이트를 잘 압니다. 환상적인 콘텐츠! –

답변

3

지금 막 똑같은 것이 필요했습니다. 다행히 구현 또는 은 매우 간단합니다. 당신은 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의 기능에서 얻을 ++ 버전 플래시 또는 자바 스크립트 버전으로 이식되지 않은 경우 the original source을보고 위와 같이 직접 가져올 수 있습니다. C++에 익숙하지 않더라도이 코드는 상당히 친숙합니다.

관련 문제