2013-11-24 44 views
0

如何更改测试床世界输出的坐标系?谢谢。JBox2d测试床旋转世界

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

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

我决定的问题。

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

viewportTransform.setYFlip(false);

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); 
    } 
} 

多数民众赞成

回答

0

你可以通过视口变换矩阵搞乱改变对视一切。这就是为什么它在那里。 例如,使用Mat22.createRotationMatrix(或类似的东西),然后做viewportTransform.mulBy(Mat22.createRotationMatrix(__))如果你想旋转视口。 你也可以转换它等