Farseer 3.3 DebugViewXNA - подключаем - PullRequest
2 голосов
/ 22 июля 2011

Я испытывал сторонника 3.3 в XNA.Для жизни я не могу заставить DebugViewXNA работать.

У меня есть объект World с несколькими телами там.Тела прикреплены к полигональным моделям, поэтому мне нужен класс debugviewXNA, чтобы нарисовать их для меня, но я не могу найти, как это сделать.Я предполагаю, что мне нужно передать ему вершины, но я не могу найти, как получить к ним доступ из объекта World, и при этом я не понимаю, какой метод вызывать точно.Одна из проблем, которые я нахожу с farseer 3.3, заключается в том, что поддержка, по-видимому, ограничена «взглянуть на примеры», но, похоже, они просто не показывают ответы, Google говорит мне, что я не единственный, кто так чувствует.

Любая помощь от более опытных будет очень признательна!

Заранее спасибо

1 Ответ

2 голосов
/ 22 июля 2011

Вам не нужно передавать DebugViewXNA какие-либо вершины - он получает эту информацию из Прикреплений, прикрепленных к Телам в Мире.Вот как у меня это работает:

physicsWorld = new World(GRAVITY);
physicsDebug = new DebugViewXNA(physicsWorld);
physicsDebug.LoadContent(this.GraphicsDevice, this.Content);
physicsDebug.AppendFlags(DebugViewFlags.Shape);
physicsDebug.AppendFlags(DebugViewFlags.PolygonPoints);

И позже для рисования:

Matrix proj = Matrix.CreateOrthographicOffCenter(0f, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0f, 0f, 1f);
Matrix view = camera.GetViewMatrix(Vector2.One);
physicsDebug.RenderDebugData(ref proj, ref view);
...