2014-09-11 2 views
0

Я просмотрел всю документацию, которую я могу найти для Farseer, и не могу найти, как использовать BodyDef/FixtureDef в моих проектах. Переименовали ли они что-то еще, когда они были перенесены из Box2D?Являются ли BodyDef/FixtureDef доступными в Farseer Physics?

Моя главная забота выполнения нечто похожее на следующее:

FixtureDef fdef; 
fdef.isSensor = true; 

ответ

1

Хотя Предсказатель физики имеет истоки в Box2D, это не является точным порт него. Он имеет некоторые сходства, но делает все по-своему (более знакомы с программистами на C#, я думаю). Он не использует классы Def. Я считаю, что следующие 2 примера эквивалентны:

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

Смежные вопросы