JBox2d测试台旋转世界

时间:2013-11-24 10:04:48

标签: java swing coordinate-systems jbox2d testbed

如何更改测试台世界输出的坐标系?感谢。

http://postimg.org/image/71d6fner5/

http://postimg.org/image/upx9oo0oh/

我决定了这个问题。

我覆盖DebugDraw并在构造函数中将YFlip设置为false。

viewportTransform.setYFlip(假);

public class EnginePanelJ2D extends JPanel implements TestbedPanel {
    // (other code from org.jbox2d.testbed.framework.j2d.TestPanelJ2D)
    public EnginePanelJ2D(TestbedModel argModel) {
        draw = new EngineDebugDraw(this);
        // other code
    }
}

EngineDebugDraw

public class EngineDebugDraw extends DebugDraw {
    // (other code from org.jbox2d.testbed.framework.j2d.DebugDrawJ2D)
    public EngineDebugDraw(EnginePanelJ2D argTestPanel) {
        // other code
        viewportTransform.setYFlip(false);
    }
}

那就是

1 个答案:

答案 0 :(得分:0)

您可以通过弄乱视口变换的矩阵来更改视口的所有内容。这就是为什么它在那里。 例如,如果要旋转视口,请使用Mat22.createRotationMatrix(或类似的东西),然后执行viewportTransform.mulBy(Mat22.createRotationMatrix(__))。 你也可以转换它等等。