Итак, я работаю над космической игрой под названием Star Commander.
Прогресс шел замечательно, пока я не решил, что мне нужно реализовать какую-то физику. В основном мне понадобится Farseer Physics для обнаружения столкновений.
В любом случае, поскольку это космическая игра, когда я объявляю свой объект World:
private World world;
this.world = new World(Vector2.Zero);
У меня нет серьезности. Это вызывает странный результат. Я могу столкнуться с объектами, но как только я перестану с ними сталкиваться, все. Я больше не могу столкнуться с ними и просто пройду сквозь них. Однако с гравитацией:
private World world;
this.world = new World(new Vector2(0F, 1F));
Столкновение прекрасно работает.
Я попытался найти помощь с Farseer, но многие сообщения устарели, и нет действительно хороших источников информации, и, к сожалению, я почти уверен, что здесь я тоже не получу помощи, которая мне нужна.
Единственное, что я обнаружил, осматриваясь, - это то, что для объектов с именем «Geoms» мне нужно отключить свойство с именем «CollisionResponeEnabled» или что-то подобное.
Однако объект Geom больше не присутствует в Farseer Physics 3 и был полностью заменен на Fixtures. Однако приспособления, похоже, не обладают этим свойством.
Я могу предоставить любой исходный код, который может помочь, но имейте в виду, что я все еще внедряю физический движок в свой проект, и большая часть кода не является окончательной и беспорядочной.
ВАЖНОЕ ИЗМЕНЕНИЕ:
После записи короткого gif-изображения, демонстрирующего мою проблему, я обнаружил, что могу столкнуться с объектом только один раз, чтобы столкнуться с ним снова, мне нужно столкнуться с другим объектом, но затем я не могу столкнуться с этим объектом, пока не столкнусь с другой объект.
Пример:
SleepingAllowed = false
на телах, чтобы посмотреть, в этом ли проблема? - person Ani   schedule 29.10.2013