綠色點是矢量p1,紅色點是矢量p2。我可以使用p2.sub(p1).angle()
方法訪問光線角度。
考慮:
float oberserverAngle = p2.cpy().sub(p1).angle();
RayCastCallback callback = new RayCastCallback() {
@Override
public float reportRayFixture(Fixture fixture, Vector2 point, Vector2 normal, float fraction) {
}
}
world.rayCast(callback, p1, p2);
現在,當我這樣做時,FOV是不對的,我缺少什麼?
shape.line(p1, p2)
Vector p3 = p2.cpy().setAngle(oberserverAngle * 0.5f);
Vector p4 = p2.cpy().setAngle(-oberserverAngle * 0.5f);
shape.line(p1, p3);
shape.line(p1, p4);