2013-11-24 3 views
0

테스트 베드의 세계 출력 좌표계를 어떻게 바꿀 수 있습니까? 감사. JBox2d 테스트 베드가 세계를 회전

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

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

나는 질문을 결정했다.

저는 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 (__))를 수행하십시오. 변환 할 수도 있습니다.