2014-09-11 5 views

답변

1

시어 물리학은 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 클래스를 사용합니다. 자세한 내용은 설명서를 참조하십시오.

https://farseerphysics.codeplex.com/documentation