2011-01-20 2 views
0

이것은 경험이 부족한 프로그래머의 기본적인 문제입니다. 나는 안드로이드 응용 프로그램에서 게임을 만들고 있습니다. 분명히 많은 터치 이벤트가 필요합니다. 이 함수는 if/else 문으로 매우 커질 것으로 보인다. onTouchEvent 메서드를 작성하는 방법에 대한 지침이 필요합니다. 누군가가 onTouchEvent 메소드가있는 예제를 가르쳐 주며 잘 구조화되어 있습니까?OnTouchEvent 게임 지침

답변

1

Java에서 가장 좋은 디자인 패턴 중 하나가 관찰자 (리스너)이므로 onTouchEvent()보다는이 코드를 사용하는 것이 좋습니다. 그 이유는 원래 컨트롤 자체 (즉, Button)에서 이벤트 처리를 분리 할 수 ​​있고 컨트롤을 서브 클래스 할 필요가 없기 때문입니다. 버튼의 클릭 이벤트 논리를 넣을 필요가 없습니다 그리고 무엇보다도, 당신은 사용자 정의 버튼 서브 클래스를 만들 필요가 없습니다

MyEventHandler myEvHandler = new MyEventHandler(); 
Button button = new Button(); 
button.setOnClickListener(myEvHandler); 

// Basic Object Class called MyEventHandler 
class MyEventHandler implements OnClickListener 
{ 
    public void onClick(View v) 
    { 
     if (v instanceof Button) 
     { 
      // handle the click event here. 
     }  
    } 
} 

주의 사항 :

여기에 작은 예입니다.

모든보기 및 모든 UI 이벤트에 대해 동일한 작업을 수행 할 수 있습니다.