Farseer에서 찾을 수있는 모든 설명서를 검색했으며 내 프로젝트에서 BodyDef/FixtureDef를 사용하는 방법을 찾을 수 없습니다. Box2D에서 이식 할 때 다른 이름으로 바뀌 었습니까?Farseer Physics에서 BodyDef/FixtureDef를 사용할 수 있습니까?
FixtureDef fdef;
fdef.isSensor = true;
Farseer에서 찾을 수있는 모든 설명서를 검색했으며 내 프로젝트에서 BodyDef/FixtureDef를 사용하는 방법을 찾을 수 없습니다. Box2D에서 이식 할 때 다른 이름으로 바뀌 었습니까?Farseer Physics에서 BodyDef/FixtureDef를 사용할 수 있습니까?
FixtureDef fdef;
fdef.isSensor = true;
시어 물리학은 Box2D의에서 기원을 가지고 있지만, 그것의 정확한 포트되지 않습니다 : 내 주요 관심사는 다음과 같은 일을 달성한다
. 그것은 약간의 유사점을 가졌지 만, 그것은 내가 생각하기에 C# 프로그래머들에게 더 익숙하다. Def 클래스는 사용하지 않습니다. 나는 다음 두 예는 동일 믿습니다
C++
// create a body
b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;
bodyDef.position.Set(-10, 20);
b2Body* body = world->CreateBody(&bodyDef);
// create a shape
b2CircleShape circleShape;
circleShape.m_radius = 0.5f;
// create a fixture
b2FixtureDef myFixtureDef;
myFixtureDef.shape = &circleShape;
body->CreateFixture(&myFixtureDef);
C# 당신이 몸에서 볼 수 있듯이, 주요 차이점은 당신이에 생성 후 속성을 설정한다는 것입니다
// create a body
var body = world.CreateBody();
body.BodyType = BodyType.Dynamic;
body.Position = new Vector2(-10, 20);
// create a shape
var circleShape = new CircleShape(0.5f);
// create a fixture
var fixture = body.CreateFixture(circleShape);
def 클래스보다는 실제 인스턴스.
Farseer Physics는 또한 편리한 Factory 클래스를 사용합니다. 자세한 내용은 설명서를 참조하십시오.