2016-11-10 3 views
1

저는 작은 게임을하고 있으며 가능한 한 깔끔하게 유지하려고 노력하고 있습니다. inputprocessor를 다른 클래스로 나눠서 잘 작동합니다. Box2D에 대한 바디와 조명기를 처리하고 생성하는 playState 클래스도 설치했습니다. Libgdx : 다른 입력 처리 클래스에서 Box2D World에 액세스/수정하는 방법은 무엇입니까?

그리고 내 입력 처리 클래스의

:

public class TouchProcessor implements InputProcessor { 

    //..... 

    @Override 
     public boolean touchDragged(int screenX, int screenY, int pointer) { 
      System.out.println("Dragging..."); 
      touchHappening = true; 

      return true; 
     } 

    // .... 

지금 터치 드래그, 내가 Box2D의 세계에서 몸/카메라 위치를 조정합니다. 그러나 나는 그것을 playState와 분리하면 내 Processor 클래스에있는 사람들에게 접근 할 수 없다. 어떻게해야합니까?

답변

1

응용 프로그램 부분 (좋은 아이디어 인 btw)을 분리 할 때마다 여러 부분이 어떻게 함께 작동 할 수 있는지 전략이 필요합니다.

종종 야생에서 볼 수있는 솔루션은 다른 코드에서 중요한 게임 메서드에 액세스 할 수 있도록 일종의 중앙 싱글 톤을 사용하는 것입니다. 그러나 싱글 톤은 자체적으로 flaws입니다. 또 다른 방법은 여기에 어떤 종류의 이벤트 시스템을 사용하는 것입니다.

좋은 게임 아키텍처에 대한 아이디어를 얻으려면 decoupling patterns을보고 싶을 수 있습니다.

관련 문제