创建Farseer(或Box2D)边线Fixture时,您将编写:

FixtureFactory.AttachEdge(start, end, bodyToAttachTheFixtureTo);


这很有意义-您需要startend点来定义边。

当您想阅读Fixture时,让我感到困扰的是。假设fixture是我们读取的Fixture


((EdgeShape) fixture.Shape).Vertex1
((EdgeShape) fixture.Shape).Vertex2


应该是唯一的选择。但是我们也得到Vertex3Vertex4。为什么?他们的意思是什么?

最佳答案

顶点1和4最可能是“重影顶点”:http://www.iforce2d.net/b2dtut/ghost-vertices

如果要查找创建边时给定的原始两个顶点,则可能需要顶点2和3。

关于c# - 为什么Box2D/Farseer EdgeShape定义了4个顶点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22883835/

10-09 06:11